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