将get-content cmdlet与-replace选项一起使用以替换csv中的实例,无法弄清楚如何

时间:2011-07-19 15:23:27

标签: regex powershell powershell-v2.0

我需要删除所有出现的字符串“|”我提出的正则表达式是\“\ | \”,它完全正常,在rubular上测试,但是,当试图将它插入我的PowerShell脚本时它似乎不起作用,任何想法为什么?或者说,如何解决它?

脚本:

(get-content "file") -replace \"\|\", "|" | out-file "file"

-Thanks

2 个答案:

答案 0 :(得分:3)

您需要在正则表达式中转义管道,而不是双引号。要将它们包含在正则表达式中,请单个整个正则表达式。如果您只想删除它们,请不要指定替换字符串。

(get-content "file") -replace '"\|"'  | out-file "file" 

答案 1 :(得分:0)

你没有封装第一个字符串(要替换的字符串):

(get-content Readme.txt) -replace '"\|"', "|" | out-file out.txt

我用'避免需要逃脱'