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 に答える