替换AS3中最后一次出现的字符串的最有效方法是什么

时间:2012-04-18 14:07:43

标签: actionscript-3

String.replace替换字符串中第一次出现的字符串,但我想替换字符串中最后一次出现的字符串。有没有简单的方法呢?

3 个答案:

答案 0 :(得分:2)

您可以使用lastIndexOf函数来确定要替换的字符串的位置,然后在出现之前和之后添加子字符串以获得所需的结果。

答案 1 :(得分:1)

建议的功能出现错误......以下是更正后的错误:

public static function replaceLastOccurrence(str:String, find:String, replace:String):String {
    var pre:String = str.substr(0, str.lastIndexOf(find));
    var post:String = str.substr(str.lastIndexOf(find)+find.length, str.length); 

    return pre + replace + post;
}

答案 2 :(得分:0)

我会先检查是否有事件发生:

public static function replaceLastOccurrence(str:String, find:String, replace:String):String  
{
    if (str.lastIndexOf(find) != -1)
    {
        var pre:String = str.substr(0, str.lastIndexOf(find));
        var post:String = str.substr(str.lastIndexOf(find) + find.length, str.length); 
        return pre + replace + post;
    }
    else
    {
        return str;
    }
}

否则如果没有出现,它会搞乱字符串的结尾。