2

我试过摆弄

replace(/_([^_]*)$/,replacement+'$1')

从另一个帖子,但无法让它工作

我有一个字符串:

<div class="plus"></div><div class="details"></div>text1/text2

我想变成

<div class="plus"></div><div class="details"></div>text1/<br>text2

但我也不断更换 / in / div

任何人?

编辑:要清楚我想替换最后一个

"/" 

"/<br>"

只有最后一次出现。

我不知道...也许我最好回到我的代码中并尝试在添加 html 之前替换斜杠...

4

4 回答 4

2

使用lastIndexOf()方法

var index = str.lastIndexOf('/');
str = str.substr(0, index + 1) + "<br>" + str.substr(index + 1);

这是小提琴

于 2013-05-14T08:33:37.047 回答
1

尝试

'<div class="plus"></div><div class="details"></div>text1/text2'.replace(/(\/)([^\/]*)$/, '$1' + '<br />' + '$2' )
于 2013-05-14T08:37:30.193 回答
0

使用字符串方法更容易做到这一点:

var index = str.lastIndexOf('/');
str = str.substr(0, index) + str.substr(index + 1);
于 2013-05-14T08:35:55.003 回答
0

如果您不想在反向引用中捕获斜线,请将斜线添加到文本本身中:

replace(/_([^_]*)$/,replacement+'$1/')
-----------------------------------^
于 2013-05-14T08:32:56.680 回答