【问题标题】:Change A Character In A String Using Actionscript使用 Actionscript 更改字符串中的字符
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      但是,如果您打算对字符串进行大量修改,最好的办法是拥有一个字符数组,您可以随意改变它。当你需要打印它时,你只需join它与""作为分隔符。

      问候
      back2dos

      【讨论】:

        【解决方案3】:

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

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

        我正在使用带有 actionscript 3.0 的 flash cs4,如果它不适用于某人,请告诉我。如果有更好的方法也请告诉我。

        【讨论】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-23
          • 1970-01-01
          • 2022-01-22
          • 1970-01-01
          相关资源
          最近更新 更多