Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 删除<;空间>&书信电报;逗号>;但不是<;空间>&书信电报;空间>&书信电报;逗号>;_Regex_String_Powershell_Csv - Fatal编程技术网

Regex 删除<;空间>&书信电报;逗号>;但不是<;空间>&书信电报;空间>&书信电报;逗号>;

Regex 删除<;空间>&书信电报;逗号>;但不是<;空间>&书信电报;空间>&书信电报;逗号>;,regex,string,powershell,csv,Regex,String,Powershell,Csv,我有一个CSV文件,其中包含未封装的文本字符串,有些包含逗号。这当然抛弃了CSV解析器 我的CSV具有以下模式: 没有值的列将包含2个空格 带有值的列看起来像,值和逗号之间没有空格 我需要删除的所有错误逗号(包含在文本字符串中)前面或后面都有一个空格。例如: ,因为这将捕获所有有效实例。您可以使用以下内容进行匹配: (?<![ ])[ ], (? 并替换为”(空字符串)另一个选项是匹配非空格,后跟空格和逗号,并替换为非空格: ... -replace '(^|[^ ]) ,', '$

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

我的CSV具有以下模式:

  • 没有值的列将包含2个空格
  • 带有值的列看起来像
    ,值和逗号之间没有空格
我需要删除的所有错误逗号(包含在文本字符串中)前面或后面都有一个空格。例如:


,因为这将捕获所有有效实例。

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

(?<![ ])[ ],
(?

并替换为
(空字符串)

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

... -replace '(^|[^ ]) ,', '$1'

我会使用
[]
而不是``只是为了清楚…它与
RegexOption.IgnoreWhitespace一起工作