【发布时间】:2012-04-17 05:14:09
【问题描述】:
我正在尝试清理文件并使其以管道或波浪线分隔
文件中不时有文本限定符
喜欢:
jim,jones,"123 Main St",Detroit,MI
connie,hill,"1234 Front St","St Marie, Detwa",WI
我想去掉所有引号并替换分隔符而不干扰字段中的逗号。
【问题讨论】:
标签: regex powershell
我正在尝试清理文件并使其以管道或波浪线分隔
文件中不时有文本限定符
喜欢:
jim,jones,"123 Main St",Detroit,MI
connie,hill,"1234 Front St","St Marie, Detwa",WI
我想去掉所有引号并替换分隔符而不干扰字段中的逗号。
【问题讨论】:
标签: regex powershell
如果您的数据实际上是 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 将始终引用每个字段)。
【讨论】: