【问题标题】:Replace only the last occurrance in a string [duplicate]仅替换字符串中的最后一次出现[重复]
【发布时间】:2012-12-01 04:39:25
【问题描述】:
【问题讨论】:
标签:
javascript
regex
replace
【解决方案1】:
使用这个:
.replace(/\s(?=\S*$)/, "<br />");
【解决方案2】:
如果你想用正则表达式,我只能想到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;
【解决方案3】:
试试这个:
.replace(/ ([^ ]*)$/, "<br />$1")
demo