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

时间:2010-05-14 02:25:08

标签: flex actionscript-3 air flex3

String.charAt() ??

的反义词是什么

如果我有一个字符串:

var Str:String="Hello World";

如何更改第5个字符,例如,从''更改为'_'?

我可以像这样获得第5个角色:

var C:String=Str.charAt(5);

但是如何设置第5个字符?

提前致谢。

4 个答案:

答案 0 :(得分:10)

有很多方法可以给这只猫上皮。一个,在我的头顶,将涉及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);
}

答案 1 :(得分:2)

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

但是,如果你打算经常修改字符串,最好是拥有一个字符数组,你可以随意改变。当您需要打印时,只需join ""作为分隔符。

格尔茨
back2dos

答案 2 :(得分:1)

答案是如此大的帮助,但我认为这是一个更容易的方式。假设您要用字母“w”替换名为B的字符串的第4个字符。你可以使用

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

我使用flash cs4和actionscript 3.0,如果它不能与某人合作,请告诉我。如果有更好的方式,请告诉我。

答案 3 :(得分:1)

//Replacing "/" with "-"
var str:String = "he/ll/o"
str = str.split("/").join("-"); //str = he-ll-o