【问题标题】:PowerShell replace string from Csv filePowerShell 替换 Csv 文件中的字符串
【发布时间】:2017-11-29 15:16:14
【问题描述】:

Csv 文件内容有数千行,想要替换其中的文本。

MacBookPro*,*,MacBookPro1*.*,

'*' 在这里是通配符。 文字看起来像这样

MacBookPro13,1,

替换为

MacBookPro,

我不擅长正则表达式,需要帮助。

【问题讨论】:

    标签: regex powershell


    【解决方案1】:

    您可以直接在 Powershell 中执行此操作,也可以签入 CSV。

    $string_var = 'MacBookPro*,*,'
    $newstring_var=$string_var.Replace($string_var,'MacBookPro1*.*,')
    $newstring_var
    

    如果你是这个意思,请告诉我。

    【讨论】:

    • 我在这里将 * 称为通配符。对不起,我不清楚。我无法弄清楚要使用的正则表达式。
    【解决方案2】:

    能够解决...

    (Get-Content $ExportCsvFilePath) -replace 'MacBookPro(.*?),(.*?),','MacBookPro,' | Set-Content -Path $ExportCsvFilePath -Force
    

    【讨论】:

      【解决方案3】:

      如果您在 csv 文件中有多个条目,则应该替换所有条目。

       $oldString = 'MacBookPro*,*,'
          $newString = 'MacBookPro1*.*,'
          $originalFilePath = "EnterPathToFileHere"
          $newFilePath = "EnterNewPathToFileHere"
      
          [io.file]::readalltext($originalFilePath).Replace($oldString, $newString) | Out-File $newFilePath -Encoding ascii –Force
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-12
        • 1970-01-01
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多