我正在尝试清理文本文件,以便可以将其导入Excel,但文本文件包含几个双引号字段中的换行符.该文件以制表符分隔.
示例是:
"12313"\t"1234"\t"123
5679"
"test"\t"test"\t"test"
"test"\t"test"\t"test"
"12313"\t"1234"\t"123
5679"
Run Code Online (Sandbox Code Playgroud)
我需要删除换行符,以便最终显示如下:
"12313"\t"1234"\t"1235679"
"test"\t"test"\t"test"
"test"\t"test"\t"test"
"12313"\t"1234"\t"1235679"
Run Code Online (Sandbox Code Playgroud)
"\ t"是制表符分隔符.
我在SO上看了几个其他的解决方案,但它们似乎没有处理多行.我们尝试过使用多种CSV解析器解决方案,但似乎无法让它们适用于这种情况.目标是将整个字符串传递给REGEX表达式并使其返回,并且在引号之外的换行符保留时删除引号之间的所有换行符.
你可以使用这个正则表达式:
(?!(([^"]*"){2})*[^"]*$)\n+
Run Code Online (Sandbox Code Playgroud)
这个匹配一个或多个没有后跟偶数引号的换行符(它假设数据中没有转义异常).
| 归档时间: |
|
| 查看次数: |
3207 次 |
| 最近记录: |