Javascript 用正则表达式替换 - 只替换找到的字符串的一部分

标签 javascript

我有一个如下所示的字符串:

“01/11/2012(最后,第一)- 笔记,02/11/2012(最后,第一)- 更多笔记,03/11/2012(最后,第一)- 更多笔记,09/12/2012(最后,第一)- 你明白了”

我希望通过用“\n”替换任何后跟数字的逗号来使每个注释落在一个新行上。

我试过 .replace(/,/g, '\n') 但我在名称中间换行。
所以我做了 .replace(/,\d/g, '\n'),但是我丢失了日期的第一个数字。

如何搜索 ,# 并将其替换为\n#,其中数字与之前的数字相同?

我希望结果看起来像这样:

01/11/2012 (Last, First) - Notes
02/11/2012 (Last, First) - More Notes
03/11/2012 (Last, First) - Even More Notes
09/12/2012 (Last, First) - You get the idea

最佳答案

您可以使用捕获来避免丢失该数字:

s.replace(/,(\d)/g, '\n$1')

关于Javascript 用正则表达式替换 - 只替换找到的字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830060/

相关文章:

javascript - 查找满足条件的数组索引的位置

javascript - 重定向到新页面提交 : this. props.history.push

javascript - 当球触及顶部边框时,如何添加显示 "game over"的警告框?

javascript - 从 UICalendar 中选择一天

javascript - 从 JQuery 中的 anchor 标记获取值/相对 url?

javascript - insertBefore 不更新 rowIndex/nextSibling 属性

javascript - D3 事件在隐藏的 svg 元素上触发

javascript - 在新的 Chrome 窗口中打开多个标签页

javascript - $.when申请单一请求

javascript - 根据给定的坐标、宽度和高度查找矩形顶点