【问题标题】:Powershell Replace characters in substringPowershell替换子字符串中的字符
【发布时间】:2015-04-30 19:53:12
【问题描述】:

在格式化 CSV 时,我想用竖线字符替换所有分隔值的逗号,这很容易,除非我有一列字符串(值周围有引号),其中偶尔有一个逗号。

我怎样才能用管道替换所有逗号引号内的逗号除外? 或者,或者,我怎样才能只替换管道字符引号内?因为将所有逗号更改为管道很容易。

【问题讨论】:

    标签: regex powershell csv


    【解决方案1】:

    一如既往:为工作使用正确的工具。在这种情况下,Import-CsvExport-Csv cmdlet。

    Import-Csv 'C:\input.csv' | Export-Csv 'C:\output.csv' -NoType -Delimiter '|'
    

    【讨论】:

    • 在这里,我认为汽油和火柴是完成这项工作的正确工具……我想这只适用于摆脱蜘蛛。像往常一样优秀的答案 Ansgar。希望@Hesed 会回来并将其标记为已接受。
    • 谢谢@Ansger,就是这样。我花了一点时间才让它工作,但我发现 Import-Csv cmdlet 在以这种方式使用时需要将文件作为“.csv”文件导入(我之前将其保存为文本文件)。所以我只需要重新排列我的台词。
    • @Hesed 扩展名无所谓,但文件必须有正确的分隔符。默认情况下,Import-CsvExport-Csv 都采用逗号,可以通过 -Delimiter 参数覆盖。
    猜你喜欢
    • 2013-02-01
    • 2013-12-08
    • 2021-10-05
    • 2015-12-08
    • 2017-07-02
    • 1970-01-01
    • 2012-04-03
    • 2013-07-23
    相关资源
    最近更新 更多