用string中的换行符替换第二次出现的逗号

时间:2018-02-16 16:11:11

标签: javascript jquery regex

尝试找出在字符串中第二个逗号后插入换行符的最佳方法。这是我目前正在使用的,它的工作原理,但我想知道正则表达式是否会更好。

var data = $('#test1').html();
var position = data.indexOf(",", data.indexOf(",") + 1);

String.prototype.replaceAt = function(index, replacement) {
  return this.substr(0, index) + replacement + this.substr(index + replacement.length);
}

var newstr = (data.replaceAt(position, "<br />"));

$('#result').html(newstr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="test1">3131, abc street, ZZ, ZZ  128 376</span>
<br /><br />
<span id="result">###</span>

1 个答案:

答案 0 :(得分:3)

您可以使用^(.+?,.+?),\s*^([^,]+,[^,]+),\s*代替$1\n$1<br>

&#13;
&#13;
var str = '3131, abc street, ZZ, ZZ  128 376'

console.log(str.replace(/^(.+?,.+?),\s*/g,'$1\n'))
&#13;
&#13;
&#13;