powershell脚本中的-contains与.contains有什么区别?
.contains和-contains之间有什么区别?一个似乎区分大小写,而另一个则不区分大小写powershell脚本中的-contains与.contains有什么区别?,powershell,Powershell,.contains和-contains之间有什么区别?一个似乎区分大小写,而另一个则不区分大小写 PS C:\WINDOWS\system32> ("jack", "john", "jill").contains("Jill") False PS C:\WINDOWS\system32> "jack", "john", "jill" -contains "Jill" True 为什么会有这样的差异?操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true
PS C:\WINDOWS\system32> ("jack", "john", "jill").contains("Jill")
False
PS C:\WINDOWS\system32> "jack", "john", "jill" -contains "Jill"
True
为什么会有这样的差异?操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true。它不区分大小写,并且不限于字符串
-CContains
是区分大小写的版本。.Contains()
方法是String类中的.NET方法。它将子字符串与字符串进行比较(默认情况下区分大小写)
如果将数组转换为字符串,则可以操纵第一个示例以获得所需的结果,因为jill
将是较大字符串中的子字符串
("jack","jill","john" -join ",").Contains("jill")
True
有关使用-Contains
的详细信息和示例,请参阅。
有关
.Contains
方法的说明,请参阅。两者在实际应用中有很大不同
$str = "abcde"
$str -contains "abcd"
False
$str.Contains("abcd")
True
为什么会有这种差异?
因为
-Contains是MS.Tells规定的安全壳操作员
是否收集参考资料
值包括单个测试值。始终返回布尔值。返回TRUE
仅当测试值与至少一个参考值完全匹配时。它必须是包含的元素之一
数组中不是字符串元素的子字符串
Contains()方法是支持
子字符串,这就是为什么您在运行时会得到正确的结果
$str.Contains(“abcd”)
希望能有所帮助。您好,我假设将直接在给定对象上调用
.contains
,但是-contains
将在powershell中运行一些全局函数-可能在同一位置实现,在该位置最后调用上一个。-contains
操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true。它不区分大小写,并且不限于字符串-CContains
是区分大小写的版本。.Contains()
方法是String类中的.NET方法。它将子字符串与字符串进行比较(默认情况下区分大小写)。@AdminOfThings谢谢。你能补充一个答案让我接受吗?你介意添加一些方法文档的链接吗?如果你知道去哪里看,你能给文档页面添加一些参考吗?我试着用谷歌搜索它,但没能找到权威的地方@AdminOfThings@CEGRD我添加了它们。