【发布时间】:2017-11-29 15:16:14
【问题描述】:
Csv 文件内容有数千行,想要替换其中的文本。
MacBookPro*,*, 与 MacBookPro1*.*,
'*' 在这里是通配符。 文字看起来像这样
MacBookPro13,1,
替换为
MacBookPro,
我不擅长正则表达式,需要帮助。
【问题讨论】:
标签: regex powershell
Csv 文件内容有数千行,想要替换其中的文本。
MacBookPro*,*, 与 MacBookPro1*.*,
'*' 在这里是通配符。 文字看起来像这样
MacBookPro13,1,
替换为
MacBookPro,
我不擅长正则表达式,需要帮助。
【问题讨论】:
标签: regex powershell
您可以直接在 Powershell 中执行此操作,也可以签入 CSV。
$string_var = 'MacBookPro*,*,'
$newstring_var=$string_var.Replace($string_var,'MacBookPro1*.*,')
$newstring_var
如果你是这个意思,请告诉我。
【讨论】:
能够解决...
(Get-Content $ExportCsvFilePath) -replace 'MacBookPro(.*?),(.*?),','MacBookPro,' | Set-Content -Path $ExportCsvFilePath -Force
【讨论】:
如果您在 csv 文件中有多个条目,则应该替换所有条目。
$oldString = 'MacBookPro*,*,'
$newString = 'MacBookPro1*.*,'
$originalFilePath = "EnterPathToFileHere"
$newFilePath = "EnterNewPathToFileHere"
[io.file]::readalltext($originalFilePath).Replace($oldString, $newString) | Out-File $newFilePath -Encoding ascii –Force
【讨论】: