当我试图在powershell上编辑一个值时,有些东西在我的脑海中停留。实际上,我简单地想做的是确保分隔符形式的字符不重复,不发生在开头和结尾。
$oldString = "192.168.7.1,192.168.7.2,192.168.7.3,192.168.7.*"
个字符
nhaq1z211#
不要尝试有条件地匹配前导或尾随逗号,而是将操作分解为3个步骤:
您可以在多个语句中执行此操作:
# split $values = $oldString -split ',' # filter $values = $values |Where-Object { $_ -ne '192.168.7.2' } # join $newString = $values -join ''
字符串...或者你可以在一个表达式中链接这3个操作:
$newString = $oldString -split ',' -ne '192.168.7.2' -join ','
型-split总是返回一个字符串 array,这意味着-ne将充当过滤器/筛子,而不是布尔运算符。这意味着它将与任何在过滤器模式下工作的比较运算符一起工作:
-split
-ne
$newString = $oldString -split ',' -like '*.[1-3]' -join ','
型
hk8txs482#
如果我理解正确的话,应该是这样的:
$oldString -replace "^,|,$|(?<=,),+"
字符串另外,https://regex101.com/站点对于计算Regex的
2条答案
按热度按时间nhaq1z211#
不要尝试有条件地匹配前导或尾随逗号,而是将操作分解为3个步骤:
您可以在多个语句中执行此操作:
字符串
...或者你可以在一个表达式中链接这3个操作:
型
-split
总是返回一个字符串 array,这意味着-ne
将充当过滤器/筛子,而不是布尔运算符。这意味着它将与任何在过滤器模式下工作的比较运算符一起工作:
型
hk8txs482#
如果我理解正确的话,应该是这样的:
字符串
另外,https://regex101.com/站点对于计算Regex的