可能重复:
How to replace last occurrence of characters in a string using javascript
这是我的代码:
var newValue= myString.replace(" ", "<br />");
但我想只替换最后一次出现,而不是所有出现。
如:
Hello my name is Marco
成为
Hello my name is<br />Marco
我该怎么办?我认为正则表达式?
答案 0 :(得分:1)
如果你想使用正则表达式,我只能想到replace(/ (?=[^ ]*$)/, "<br />")
。不是最好的选择,并不适用于更复杂的正则表达式,因为它需要对整个表达式进行“否定”。
使用简单的字符串操作可能更容易:
var parts = myString.split(" ");
if (parts.length > 1)
var last = parts.pop();
return parts.join(" ") + "<br />" + last;
} else
return myString;
您也可以使用backward search:
var index = myString.lastIndexOf(" ");
if (index > -1)
return myString.substr(0, index) + "<br />" + myString.substr(index+1);
else
return myString;
答案 1 :(得分:1)
使用它:
.replace(/\s(?=\S*$)/, "<br />");
答案 2 :(得分:0)