PowerShell基础知识:检测字符串是否以特定字符结尾

您是否知道可以在PowerShell中检测字符串是否以特定字符结尾还是以某个字符开头? 托马斯·雷纳(Thomas Rayner)之前在CANITPRO.NET上分享了如何通过使用正则表达式或更简单地称为Regex轻松完成此操作。



最初在博客中

请考虑以下示例:

'something\' -match '\\$' #returns true 'something' -match '\\$' #returns false '\something' -match '^\\' #returns true 'something' -match '^\\' #returns false 

在前两个示例中,脚本检查字符串的结尾以查看它是否以反斜杠结尾。 在最后两个示例中,脚本检查字符串以查看它是否以一个开头。

前两个匹配的正则表达式模式为\\ $。 那是什么意思 好吧,第一部分\\表示“反斜杠”(因为\是转义字符,我们基本上是在转义转义字符。最后一部分$是行尾的信号。实际上,我们拥有的是“任何东西根本上,最后一行是反斜杠“”,这正是我们想要的。

在后两个示例中,我只是将\\移至行的开头,并以^而不是以$结尾,因为^是行的开始信号。

现在您可以执行以下操作:

 $dir = 'c:\temp' if ($dir -notmatch '\\$') { $dir += '\' } $dir #returns 'c:\temp\' 

在这里,脚本检查字符串'bears'是否以反斜杠结尾,如果不是,我要附加一个反斜杠。

Source: https://habr.com/ru/post/zh-CN439672/


All Articles