【问题标题】:Regex replace all newline characters with comma正则表达式用逗号替换所有换行符
【发布时间】:2012-01-16 19:51:35
【问题描述】:

使用正则表达式,如何将每个换行符 (\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

【问题讨论】:

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

标签: regex


【解决方案1】:

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

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

Live example

一个简单的谷歌搜索显示how it's done in C#

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

在阅读了您的一些 cmets 之后,我搜索了如何在 Perl 中执行此操作。 This should do it:

s/\n/,/g;

【讨论】:

  • @Xeon06 这正是我所做的
  • 突然想到我可以尝试 C#,所以我搜索了一下,找到了该函数并尝试了它,它确实有效。
  • perl 示例不起作用,但感谢您的建议让我找到了解决方案。
  • 我明白了。如果有任何答案有助于解决您的问题,请不要忘记点击旁边的绿色复选标记,将其标记为您问题的答案。
【解决方案2】:
/\n/\,/

在 Vim 中::%s/\n/\,/g 或在逗号后加一个空格(按照惯例)::%s/\n/\,\ /g

烦人的 30 个字符的答案 :)

【讨论】:

  • 第一件事是“正则表达式”。 Windows 程序...?能具体一点吗?
  • 这太棒了!下载 Vim 只是为了格式化我的列表没什么大不了的 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 2017-01-05
相关资源
最近更新 更多