【发布时间】:2016-12-12 15:39:48
【问题描述】:
我将带分隔符的 CSV 带入 PowerShell 以使用下面的代码删除换行符,但我发现我还需要删除额外的逗号,但不确定如何格式化正则表达式。
(Get-Content -Path $fullpath -Raw) -replace '(?<!\x0d)\x0a'," " | out-file $fullpath
我的输入 CSV 是:
"field1","field2","field3","fred,mary,john,brian","field5"
所以我想保留","(包括引号),但自己删除任何其他逗号。
所以我最终会得到:
"field1","field2","field3","fred mary john brian","field5"
【问题讨论】:
-
为什么是正则表达式?您有一个有效的 CSV。如果您确实需要删除逗号 Import-Csv,请选择字段并重写它们。
-
@Calzor:假设您的意思是样本是有效的 CSV,我将尾随引号添加到
"field3"。欢迎来到 SO! -
问题是 csv 在 excel 中是“链接的”,它解释了换行符和额外的逗号把它弄乱了。我更容易通过 powershell 在导入时修复源
标签: regex csv powershell