Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 使用Actionscript更改字符串中的字符_Apache Flex_Actionscript 3_Air_Flex3 - Fatal编程技术网

Apache flex 使用Actionscript更改字符串中的字符

Apache flex 使用Actionscript更改字符串中的字符,apache-flex,actionscript-3,air,flex3,Apache Flex,Actionscript 3,Air,Flex3,String.charAt()的对立面是什么 如果我有一个字符串: var-Str:String=“Hello-World” 例如,如何将第5个字符从“”更改为“u3;” 我可以得到这样的第五个字符: 变量C:String=Str.charAt(5) 但是如何设置第五个字符 提前谢谢。给这只猫剥皮有很多方法。一个,在我的头顶上,会涉及到String.substr: var Str:String="Hello World" var newStr:String = Str.substr(0,5) +

String.charAt()
的对立面是什么

如果我有一个字符串:

var-Str:String=“Hello-World”

例如,如何将第5个字符从“”更改为“u3;”

我可以得到这样的第五个字符:

变量C:String=Str.charAt(5)

但是如何设置第五个字符


提前谢谢。

给这只猫剥皮有很多方法。一个,在我的头顶上,会涉及到String.substr:

var Str:String="Hello World"
var newStr:String = Str.substr(0,5) + "_" + Str.substr(6);
或者,同上,但更一般化:

function setCharAt(str:String, char:String,index:int):String {
    return str.substr(0,index) + char + str.substr(index + 1);
}

不能设置任何字符。ECMAScript(包括ActionScript)中的字符串是不可变的。您可以做的一件事是构造一个包含所需字符的新字符串,如本文所建议的

但是,如果您计划大量修改字符串,最好是使用一个字符数组,您可以随意更改。当您需要打印它时,您只需使用
作为分隔符将它连接起来即可

格里茨

那答案帮了大忙,但我认为还有一种更简单的方法。假设您想用字母“w”替换名为B的字符串的第4个字符。你可以用

B = B.replace(B.charAt(4), "w");

我正在使用flash cs4和actionscript 3.0,如果它与某人不兼容,请告诉我。如果有更好的方法,也请告诉我。

此解决方案不可取,因为
replace()
将替换从
charAt(4)
检索到的字符的第一个实例,而不一定是索引4处的实例。如果B==“bellborn”,它将变成“wellborn”而不是“bellworn”。charAt()方法返回字符串中指定索引处的字符。第一个字符的索引为0,第二个字符的索引为1,依此类推。因此,代码必须是
B=B.replace(B.charAt(3),“w”)
//Replacing "/" with "-"
var str:String = "he/ll/o"
str = str.split("/").join("-"); //str = he-ll-o