问题 正则表达式用逗号替换所有换行符


使用正则表达式,如何用逗号(,)替换每个换行符char(\ n)?

喜欢这个:

Demetrius Navarro
Tony Plana
Samuel L. Jackson

至:

Demetrius Navarro,Tony Plana,Samuel L. Jackson

不是在特定的编程语言中,只是标准的正则表达式。像这样的东西:

(.*)
$1
//This just takes the whole string and outputs it as is, I think

11816
2018-01-16 19:51


起源

如果您只想将一个字符替换为另一个字符,我建议您只使用字符串替换方法,而不是正则表达式。 - aevanko
请注意,正则表达式有不同的风格,所以我怀疑你的“标准正则表达式”对你来说已经足够了。 - aevanko
我在windows程序中使用它,而不是在编程中。 - ofko
我也可以使用C#代码,但纯正的正则表达式更可取 - ofko
@Issun我认为该程序接受perl风格的正则表达式 - ofko


答案:


要匹配所有换行符, /\n/g。要替换它们,您需要指定一种语言。例如,在JavaScript中:

str.replace(/\n/g, ",");

实例

一个简单的谷歌搜索显示 它是如何在C#中完成的

Regex.Replace(str, "\n", ",");

在阅读了一些评论之后,我在Perl中搜索了如何做到这一点。 这应该做到这一点

s/\n/,/g;

12
2018-01-16 19:53



+1更喜欢简单的字符串替换 - Michael Berkowski
好吧,C#怎么样? - ofko
@ofko更新了C#的帖子。 - Alex Turpin
@ Xeon06这正是我所做的 - ofko
@ofko请原谅我?你做了什么?它有用吗? - Alex Turpin


/\n/\,/

在Vim: :%s/\n/\,/g 或者用逗号后面的空格(按惯例): :%s/\n/\,\ /g

Annoyin '30个字符的答案:)


2
2018-01-16 19:54



我正在使用Windows程序。它需要C#代码或Regex - ofko
首先是“正则表达式”。 Windows程序......?你能更具体一点吗? - Rook
这真棒!仅仅为了格式化我的列表而下载Vim并不是什么大事:) - Manu Järvinen