powershell正则表达式替换引号之间

时间:2012-04-16 21:02:35

标签: regex powershell

我正在尝试清理文件并使其成为管道或波浪线分隔

该文件在整个

中偶尔会有文本限定符

像:

jim,jones,"123 Main St",Detroit,MI
connie,hill,"1234 Front St","St Marie, Detwa",WI

我想删除所有引号并替换分隔符,而不会干扰字段中的逗号。

1 个答案:

答案 0 :(得分:1)

如果您的数据实际上是CSV,那么最简单的方法可能是:

$data = Import-Csv csvdata.txt # -Header Name,LastName,Street,City,State # if no headers are there
$data | %{ ($_.Name,$_.LastName,$_.Street,$_.City,$_.State) -join '|' } | Out-File new.txt

利用PowerShell的本机CSV导入来构建具有属性的对象列表。然后,您可以使用自己的分隔符再次手动创建行(必要时,因为Export-CSV将始终引用每个字段)。