内容简介:如何看待PowerShell中.Replace() 和-replace
有两个可以替换文本中的字符串,一个是string类中的Replace()方法,另一个是–replace操作符。它们的工作原理本质上却不同
Replace() 是大小写敏感,把目标字符串替换新字符串:
PS> 'Hello World.'.Replace('o', '0') Hell0 W0rld PS> 'Hello World.'.Replace('ell','oo') Hooo World
-replace 操作符默认是大小写不敏感(除非你使用-creplace才会大小写敏感),而且可以接受一个正则表达式进行匹配替换,这一点强大之处,很容易被人遗忘。
PS> 'Hello World.' -replace 'ell', 'oo' Hooo World. PS> 'Hello World.' -replace '.', '!' !!!!!!!!!!!!
如果你不知道 -replace 能否接收正则表达式,肯定会对上面第二个例子中结果很困惑。所以如果仍旧想使用 -replace 替换静态文本,请确保先转义你的文本。
PS> 'Hello World.' -replace [Regex]::Escape('.'), '!' Hello World!
荔非苔注:使用[Regex]多年了,竟然不知道里面还有一个Escape方法,小巧,方便,再次为.NET类库折服。
原文链接: How .Replace() and -replace differ
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。