hax*_*ode 38 powershell string-comparison
在PowerShell中我有一个字符串对象数组,我有一个包含字符串对象的对象.在Java中,您可以执行a .equals(aObject)来测试字符串值是否匹配,而==如果两个对象引用内存中的相同位置则执行测试.
如何.equals(aObject)在powershell中运行等效项?
我这样做:
$arrayOfStrings[0].Title -matches $myObject.item(0).Title
Run Code Online (Sandbox Code Playgroud)
这两个都具有完全相同的字符串值,但我得到返回值false.有什么建议?
man*_*lds 61
你想做 $arrayOfString[0].Title -eq $myPbiject.item(0).Title
-match 用于正则表达式匹配(第二个参数是正则表达式)
alr*_*roc 43
你可以用两种不同的方式做到这一点.
选项1:-eq运营商
>$a = "is"
>$b = "fission"
>$c = "is"
>$a -eq $c
True
>$a -eq $b
False
Run Code Online (Sandbox Code Playgroud)
选项2:对象的.Equals()方法string.因为PowerShell中的字符串是.Net System.String对象,所以可以直接调用该对象的任何方法.
>$a.equals($b)
False
>$a.equals($c)
True
>$a|get-member -membertype method
Run Code Online (Sandbox Code Playgroud)
System.String方法列表如下.
| 归档时间: |
|
| 查看次数: |
143152 次 |
| 最近记录: |