String.replace 替换字符串中第一次出现的字符串,但我想替换字符串中最后一次出现的字符串。有没有简单的方法来做到这一点?
问问题
1002 次
3 回答
2
您可以使用lastIndexOf函数来确定要替换的字符串在哪里,然后在出现之前和之后添加子字符串以获得您想要的结果。
于 2012-04-18T14:17:26.540 回答
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;
}
于 2012-11-08T17:29:11.983 回答
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;
}
}
否则,如果没有出现,它将弄乱字符串的结尾。
于 2013-05-11T10:31:07.833 回答