如何用管道替换逗号?
How to replace comma with pipe?
我处于需要使用 PowerShell 将逗号替换为管道的情况。这些字段在双引号内,所以我也需要删除它们。但是有些字段在数据中有逗号所以当我替换时,我应该保持字段逗号 while space.
数据如下所示:
"Whaling, Mark","faflitto@cgf.com"
我希望数据是这样的:
Whaling Mark |faflitto@cgf.com
如何使用 PowerShell 实现此目的?。帮助表示赞赏。
我现在的脚本是这样的:
(Get-Content -ReadCount 0 Compliance2022.txt) -replace ',','|' -replace '"',' ' | Set-Content COMPLIANCE2022_.txt
我 NOT 测试了整行,只是 Get-Content 和 Set-Content 命令之间的代码。正则表达式来自 here.
(Get-Content -ReadCount 0 Compliance2022.txt) | ForEach-Object {($_ -Split '(?!\B"[^"]*),(?![^"]*"\B)') -Join(' | ')} | Set-Content COMPLIANCE2022_.txt
很可能它恰好错过了您想要的,但也许我们可以对其进行微调以开始工作。
编辑:
此版本删除了引号。
(Get-Content -ReadCount 0 Compliance2022.txt) | ForEach-Object {(($_ -Split '(?!\B"[^"]*),(?![^"]*"\B)') -Join(' | ')) -replace '"', " "} | Set-Content COMPLIANCE2022_.txt
我处于需要使用 PowerShell 将逗号替换为管道的情况。这些字段在双引号内,所以我也需要删除它们。但是有些字段在数据中有逗号所以当我替换时,我应该保持字段逗号 while space.
数据如下所示:
"Whaling, Mark","faflitto@cgf.com"
我希望数据是这样的:
Whaling Mark |faflitto@cgf.com
如何使用 PowerShell 实现此目的?。帮助表示赞赏。
我现在的脚本是这样的:
(Get-Content -ReadCount 0 Compliance2022.txt) -replace ',','|' -replace '"',' ' | Set-Content COMPLIANCE2022_.txt
我 NOT 测试了整行,只是 Get-Content 和 Set-Content 命令之间的代码。正则表达式来自 here.
(Get-Content -ReadCount 0 Compliance2022.txt) | ForEach-Object {($_ -Split '(?!\B"[^"]*),(?![^"]*"\B)') -Join(' | ')} | Set-Content COMPLIANCE2022_.txt
很可能它恰好错过了您想要的,但也许我们可以对其进行微调以开始工作。
编辑:
此版本删除了引号。
(Get-Content -ReadCount 0 Compliance2022.txt) | ForEach-Object {(($_ -Split '(?!\B"[^"]*),(?![^"]*"\B)') -Join(' | ')) -replace '"', " "} | Set-Content COMPLIANCE2022_.txt