【发布时间】:2010-05-14 02:25:07
【问题描述】:
String.charAt()的反义词是什么??
如果我有一个字符串:
var Str:String="Hello World";
如何更改第 5 个字符,例如,从 ' ' 更改为 '_'?
我可以像这样得到第 5 个字符:
var C:String=Str.charAt(5);
但是如何设置第 5 个字符呢?
提前致谢。
【问题讨论】:
标签: apache-flex actionscript-3 air flex3
String.charAt()的反义词是什么??
如果我有一个字符串:
var Str:String="Hello World";
如何更改第 5 个字符,例如,从 ' ' 更改为 '_'?
我可以像这样得到第 5 个字符:
var C:String=Str.charAt(5);
但是如何设置第 5 个字符呢?
提前致谢。
【问题讨论】:
标签: apache-flex actionscript-3 air flex3
有很多方法可以给这只猫剥皮。一,在我的脑海中,将涉及 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)中的字符串是不可变的。您可以做的一件事是构造一个包含所需字符的新字符串,如此处建议的那样。
但是,如果您打算对字符串进行大量修改,最好的办法是拥有一个字符数组,您可以随意改变它。当你需要打印它时,你只需join它与""作为分隔符。
问候
back2dos
【讨论】:
这个答案帮助很大,但我认为有一个更简单的方法。假设您想用字母“w”替换名为 B 的字符串的第 4 个字符。你可以使用
B = B.replace(B.charAt(4), "w");
我正在使用带有 actionscript 3.0 的 flash cs4,如果它不适用于某人,请告诉我。如果有更好的方法也请告诉我。
【讨论】:
replace() 将替换从charAt(4) 检索到的字符的第一个实例,而不一定是索引4 处的实例。如果B == "bellborn",它会变成“出身名门”而不是“老生常谈”。
B = B.replace(B.charAt(3), "w");
//Replacing "/" with "-"
var str:String = "he/ll/o"
str = str.split("/").join("-"); //str = he-ll-o
【讨论】: