删除<space> <逗号>,但不删除<space> <space> <逗号>

时间:2015-06-02 17:21:31

标签: regex string powershell csv

我有一个CSV文件,其中包含未封装的文本字符串,其中一些包含逗号。这当然会抛弃CSV解析器。

我的CSV具有以下模式:

  • 没有值的列将包含2个空格
  • 带有值的列看起来像<comma><value><comma>,值和逗号之间没有空格。

我需要删除的所有错误逗号(包含在文本字符串中)都以一个空格开头或后跟一个空格。例如:

<somevalue,Check this out, I think you'll like it.,<somevalue>

我需要正则表达式,只用<space><comma><space>替换<hyphen>。但我不能只搜索逗号&gt;因为那将捕获所有有效的实例。

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容进行匹配:

(?<![ ])[ ],

并替换为''(空字符串)

答案 1 :(得分:0)

另一种选择是匹配非空格,后跟空格和逗号,并替换为非空格:

... -replace '(^|[^ ]) ,', '$1'
相关问题