我正在使用PowerShell比较两个字符串(&)(即字符串“Policies & Procedures”)中的两个字符串。如何比较PowerShell中具有与符号的字符串
无论我尝试什么,我都无法获取这些字符串来匹配。我已经尝试修剪字符串以摆脱额外的空白。我已经试过包装在单,双引号的字符串(和两者的结合):
"Policies & Procedures"
'Policies & Procedures'
"'Policies & Procedures'"
我使用比较字符串的代码是:
if ($term1 -eq $term2) {
do something
}
视觉检查字符串 - 它们是相同的,但是if语句从不计算为真。有没有办法比较这两个字符串,以便它评估为真?
编辑
在我做这个字符串的上下文比较正在寻找在SharePoint网站上的分类术语名称。这里是我使用的代码:
function getTerm($termName) {
foreach($term in $global:termset.Terms) {
$termTrimmed = $term.Name.trim()
Write-Host "term name = $termTrimmed" -foregroundcolor cyan
if ($termTrimmed -eq $termName) {
return $term
}
}
return null
}
我已经打印term.Name和termName到屏幕,它们是相同的。如果字符串中没有&符号,则此函数可用。如果有&符号,则此函数失败。这是我知道&符号是问题的方式。
刚刚尝试了下面的代码,并按预期的方式返回了'$ true',您能显示正在生成字符串的代码吗? '$字词1 = '政策及Procedures'' '$词条2 =' 政策及Procedures'' '$字词1当量$ term2' –
同样的事,返回'我$ TRUE'。 – 4c74356b41
&符号[不是PowerShell字符串中的特殊字符](https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/about/about_quoting_rules),是什么让你称呼它作为导致问题的特殊事物? – TessellatingHeckler