在 powershell 脚本中使用替换而不是替换
Using replace in powershell script not replacing
为什么替换不起作用?这是代码
$TestString = "<css>1</css><PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern><item>2</item>"
$NewString = $TestString -replace "<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern>","<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[0-9]+$</RegexPattern>"
write-host $NewString
我做错了什么吗?
如有任何建议,我们将不胜感激。
提前致谢
替换运算符将替换匹配正则表达式模式的字符串。从它的外观来看,您正试图用另一个文字字符串替换一个文字字符串,并且它们恰好也有一个正则表达式模式。改用 Replace 方法
$TestString = "<css>1</css><PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern><item>2</item>"
$NewString = $TestString.Replace("<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern>","<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[0-9]+$</RegexPattern>")
write-host $NewString
为什么替换不起作用?这是代码
$TestString = "<css>1</css><PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern><item>2</item>"
$NewString = $TestString -replace "<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern>","<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[0-9]+$</RegexPattern>"
write-host $NewString
我做错了什么吗?
如有任何建议,我们将不胜感激。
提前致谢
替换运算符将替换匹配正则表达式模式的字符串。从它的外观来看,您正试图用另一个文字字符串替换一个文字字符串,并且它们恰好也有一个正则表达式模式。改用 Replace 方法
$TestString = "<css>1</css><PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern><item>2</item>"
$NewString = $TestString.Replace("<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[\da-zA-Z\s+()\-']+$</RegexPattern>","<PredefinedValidator>9DE32F03C2734FFCB2D681FF6283FE88</PredefinedValidator><RegexPattern>^[0-9]+$</RegexPattern>")
write-host $NewString