这与在其他地方解析文件之前清理文件有关,即格式不正确/丑陋的CSV。我看到大量的例子来删除/匹配某些字符串/字符/分隔符之间的所有字符,但我找不到任何特定的字符串。线的实施例部分将看起来像这样:正则表达式 - 如何删除字符串/分隔符之间的特定字符?
","Should now be allowed by rule above "Server - Access" added by Rich"\r
需要明确的是,这不是整条线,但整个线被封闭在引号和由“”分隔和在^ M(视窗换行符结束/回车)。在这之前的'列'将在每边被“,”包围。我可能也会使用这个来删除出现在前面的cruft。
我想要去除“,”和“\ r(”服务器 - 访问“ - 这些之间的所有双引号)而不删除分隔符。或者,我可能会找到并替换它们用\“来为Ruby CSV库分隔它们。到目前为止,我有这样的:
(?<=",").*?(?="\\r)
这基本上匹配分隔符之间的所有内容。如果我替换。*?与任何事情,是一封信,双引号等,我得到零比赛。我究竟做错了什么?
注意:这应该是Ruby兼容请。
更换里面的比赛一个块。 –
这不是一个可以用一个正则表达式完成的事情。您必须检查下一行的起始位置,然后确定该行是否正确开始,或者是否是嵌入行尾的结果。如果这是因为嵌入式行结束,那么您将需要适当地加入行。这不是一个简单的问题。 –