Powershell对于两个类似的操作工作方式不同

问题描述:

参考此post,我试图用两种不同的方法来实现,显然PowerShell的响应方式不同,但它应该与我想的相同。任何人都可以解释为什么它不同吗?Powershell对于两个类似的操作工作方式不同

PS C:\> $x = "Hello 
World" 

PS C:\> $x 
Hello 
World 

PS C:\> $x.Contains('`n') 
False 

PS C:\> $x.Contains("`n") 
True 

PS C:\> $x -Contains "`n" 
False 

PS C:\> $x -Contains '`n' 
False 
+2

'-contains'用于数组。尝试''''' – Clijsters

+0

反引号'是一个转义字符。你必须告诉powershell不要把它看作一个整体。 –

+0

@RohinSidharth,但这正是Adeel想要做的。 (S)他想搜索'\'n',而不是''''''' – Clijsters

单引号字符串不会被评估,因此反引号不被视为转义字符和字符串没有被解析为换行符。

-contains是一个遏制比较运算符,仅适用于集合,就像-in

所以一切都很好:)。