我正在尝试在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答案 0 :(得分:1)
我会尝试以下方法,而不是使用前瞻断言。
(?m)^"[A-Z]+".*2014.*$