选择字符串和区分大小写

时间:2010-03-12 22:00:42

标签: powershell

我正在尝试过滤具有标题字段的对象,我想忽略大小写。如果关闭,有没有办法确保区分大小写?

| Where-Object {$_.Title -like "myString"}

3 个答案:

答案 0 :(得分:58)

PowerShell基本上不区分大小写(例如"HEy" -like "hey"True)。

如果您想使用区分大小写的like版本,请使用-clike

答案 1 :(得分:26)

默认情况下,区分大小写已关闭:

PS> 'test','TEST','TeSt','notest' | ? { $_ -like 'test' }
test
TEST
TeSt

来自文档:

  

默认情况下,所有比较运算符   不区分大小写。做一个   比较运算符区分大小写,   在运算符名称前面加"c"。   例如,区分大小写   "-eq"的版本为"-ceq"。要做   不区分大小写,   在运算符前面加"i"。对于   例如,显式   不区分大小写的"-eq"版本   "-ieq"

有关详细信息,请运行help about_comparison_operators

答案 2 :(得分:0)

我认为,更通用的方法是使用正则表达式,这对于从其他语言(如Perl)学习正则表达式的人来说尤其方便。示例:

'test','TEST','TeSt','notest' | ? { $_ -match '(?-i)^test' }
test