javascript删除给定字符串上的最后一次出现

时间:2015-04-28 19:04:26

标签: javascript

如何使用js regex replace或其他东西转换以下内容:

var text = "line1<br>line2<br>line3<br>line4<br>"
...js regex...

以便文字变为:

text = "line1<br>line2<br>line3<br>";

当然br的数量各不相同,每行长度也不同

2 个答案:

答案 0 :(得分:1)

仅删除没有正则表达式的最后一行:

var text = "line1<br>line2<br>line3<br>line4<br>";
var pieces = text.split('<br>');
var newText = pieces.splice(0, pieces.length-2).join('<br>') + '<br>';

请注意,此代码至少包含三个重要假设:

  1. 分隔符始终为<br>,而不是<br /><BR>
  2. 输入字符串始终以<br>结尾。
  3. 结果字符串始终以<br>结尾,即使它是空的! (例如,如果输入字符串为line1<br>,则输出将为<br>

答案 1 :(得分:0)

这是我冒充的一个因为我花时间去做。它可以工作,但需要索引和空检查等。

var text = "line1<br>line2<br>line3<br>line4<br>";
var newText = text.substring(0, text.substring(0, text.length - 4).lastIndexOf("<br>"));