如何在使用正则表达式Windows csv时保留换行符

时间:2014-08-12 17:28:25

标签: regex windows csv rapidminer

我正在尝试在Windows 8计算机上使用Rapidminer中的正则表达式将csv文件中的行保留为某个字符串。我写了正则表达式,选择正确的行,但输出不保留换行符,并显示为连续字符串。我很感激有关如何保持换行的任何建议。

我的文件如下:

"ABCDEF","text",numbers,"JAN 1, 2014","text",numbers,10
"BCDEFG","text",numbers,"JAN 1, 2014","text",numbers,1
"CDEFGH","text",numbers,"FEB 1, 2014","text",numbers,12
"CDEFGH","text",numbers,"DEC 1, 2013","text",numbers,8

以下正则表达式从正确的行(1-3)中选择文本,但消除输出中的换行符:

"[A-Z]*".*2014.*?(?=[\r\n$]+)
"[A-Z]*".*2014.*?(?=([\r\n]{2}))
"[A-Z]*".*2014.*?(?=([\r\n]{2}[\r\n$]*))

我尝试使用以下正则表达式的多行模式,但结果相同:

(?m)^"[A-Z]*".*2014.*?(?=[\r\n]+)$

我的输出如下所示:

"ABCDEF","text",numbers,"JAN 1, 2014","text",numbers,10 "BCDEFG","text",numbers,"JAN 1, 2014","text",numbers,1 "CDEFGH","text",numbers,"FEB 1, 2014","text",numbers,12

提前谢谢。

编辑:与hwnd&和其他人一起'非常好的建议,我想出了以下在RapidMiner中有效的表达式:(?m)^(" [AZ] +"。 2014。)\ r \ n

1 个答案:

答案 0 :(得分:1)

我会尝试以下方法,而不是使用前瞻断言。

(?m)^"[A-Z]+".*2014.*$