javascript - 正则表达式替换换行符和逗号

标签 javascript regex replace

我有一个关于正则表达式的问题,我有一个文本,如下所示:

car,model,serie
,Mercedes,324,1,
,BMW,23423,1,
,OPEL,54322,1,

它应该看起来像:

car,model,serie
Mercedes,324,1,
BMW,23423,1,
OPEL,54322,1,

因此在文本开头不要使用逗号。

我尝试过:

var str2 = str.replace(/\n|\r/g, ""); 

但不知何故,我无法在正则表达式中添加逗号。

有人能帮我吗? 提前致谢。

最佳答案

这个问题有很多回复,对于正则表达式的新手来说,这可能有点让人难以接受,

总体而言,最佳响应是:

var str2 = str.replace(/^,/gm, '');

这通过使用 ^ 来检查第一个字符是否是逗号,如果是,则将其删除。它还使用 gm 标志对每行的第一个字符执行此操作。

如果您对其他版本感到好奇,请继续阅读:

1:

var str2 = str.replace(/^,+/gm, '');

这是一个细微的变体,因为它将删除每行开头的多个连续逗号,但根据您的数据集,这不是必需的。

2:

var str2 = str.replace(/\n,/g, '\n');

此版本的工作方式与第一个版本完全相同,但它会发现每个换行符后跟一个带有 \n 的逗号,并将其替换为另一个换行符。

3:

var str2 = str.replace(/(\n|\r),/g, '$1')

此版本与之前的版本相同,但它不假设换行符是 \n,而是捕获任何换行符或回车符,其工作方式与 < strong>m 标志和 ^,

4:

var str2 = str.replace(/\n+|\r+|,+/g,"\n")

最后还有这个,这是之前所有正则表达式的组合,它假设您可能有很多混合的换行符和逗号而没有任何文本,并且您希望删除所有这些字符,它对于您的示例来说是不必要的。

关于javascript - 正则表达式替换换行符和逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726542/

相关文章:

javascript - Ajax 如果不​​止一个 @mention

regex - 原子编辑器 : RegEx replace to uppercase/lowercase

javascript - 使用模板库从 ajax 请求接收 json 数据后生成 html 代码的最佳方法是什么?

javascript - 根据当前缩放更改 ClusterRadius Leaflet

javascript - 获取选择下拉列表的值

javascript - 如何从事件处理程序中返回 indexedDB 查询结果?

asp.net - 如何仅匹配无扩展名的 URL?

.net - RegexOptions.Compiled 如何工作?

php - 如何用数组中的元素替换所有出现的 char?

javascript - 用 jQuery 替换对象中的值