2012-07-18 31 views
1

因为\ r \ n在正则表达式“特殊”字符我有一个​​问题,确定什么我确实需要把我的表达。正则表达式如何与实际的换行符替换 r n的字符串

基本上我有一个看起来像一个字符串...

bla\r\nbla\r\nbla 

..,我期待将它更改为...

bla 
bla 
bla 

...使用常规表达。

任何想法?

+0

'S/\\ [R \\ N/\ n /'什么语言? – 2012-07-18 11:12:17

+0

即时通讯使用记事本++ – War 2012-07-18 11:13:21

+0

请更具体地说...您是否正在处理纯文本文件?或者你在PHP,JAVA等编码? – user871784 2012-07-18 11:13:37

回答

3

\是正则表达式中的转义字符,可以用来逃避自己,这意味着您可以编写\\n以匹配文本\n

使用模式\\r\\n\r\n取代。

+0

就是这样......不知道为什么,我看不出 – War 2012-07-18 11:18:29

+0

还是有一些古怪,但必须如何记事本+ +是处理表达什么(它就像它的随机取出奇炭,这里还有几个换行符比我期待,所以它显然匹配超过它应该有。 – War 2012-07-18 11:20:09

+0

@Wardy什么怪事有那些?请记住,'\\ r \\ n'不会单独匹配'\ r'或单独匹配'\ n'。你有没有按预期工作的示例字符串? – Thorbear 2012-07-18 11:23:08

1

你不一定需要这个表达式(除非这是不是您要更换的唯一的事),但\ r \ n为正则表达式的多数变形的路要走。

实例:

  • PHP

    • $str = preg_replace("/\\r\\n/", "\r\n", $str);
    • $str = str_replace('\r\n', "\r\n", $str);(或"\\r\\n"对于第一个参数)
  • 红宝石

    • str = str.gsub(/\\r\\n/, "\r\n")
    • str = str.gsub('\r\n', "\r\n")
+0

你是我的拉动想法它到Visual Studio中(因为我工作的代码是用C#编写的),但我只是想从wcf测试客户端获取结果并将其粘贴到记事本++进行检查,问题是我得到了\ r \ n而不是测试客户端中的换行符结果lol – War 2012-07-18 11:58:43