【问题标题】:powershell regex replace between quotespowershell 正则表达式在引号之间替换
【发布时间】:2012-04-17 05:14:09
【问题描述】:

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

文件中不时有文本限定符

喜欢:

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

我想去掉所有引号并替换分隔符而不干扰字段中的逗号。

【问题讨论】:

    标签: regex powershell


    【解决方案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 将始终引用每个字段)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 2016-02-13
      • 1970-01-01
      相关资源
      最近更新 更多