0

重複の可能性:
javascriptを使用して文字列内の最後の文字を置き換える方法

これは私のコードです:

var newValue= myString.replace(" ", "<br />");

しかし、すべての出現ではなく、最後の出現のみを置き換えたいと思います。

そのような :

Hello my name is Marco

なる

Hello my name is<br />Marco

どうすればいいですか?正規表現だと思いますか?

4

3 に答える 3

1

これを使って:

.replace(/\s(?=\S*$)/, "<br />");
于 2012-12-13T10:09:49.673 に答える
1

正規表現を使用したい場合は、replace(/ (?=[^ ]*$)/, "<br />"). 最適なオプションではなく、式全体の「否定」が必要なため、より複雑な正規表現では機能しません。

たぶん、単純な文字列操作の方が簡単です:

var parts = myString.split(" ");
if (parts.length > 1)
    var last = parts.pop();
    return parts.join(" ") + "<br />" + last;
} else
    return myString;

後方検索を使用することもできます:

var index = myString.lastIndexOf(" ");
if (index > -1)
    return myString.substr(0, index) + "<br />" + myString.substr(index+1);
else
    return myString;
于 2012-12-13T10:08:41.377 に答える
0

これを試して:

.replace(/ ([^ ]*)$/, "<br />$1")

デモ

于 2012-12-13T10:07:14.087 に答える