从变量中获取匹配的字数

时间:2017-04-03 10:46:14

标签: powershell powershell-v5.0

我希望获得test变量中$channel字的总数,但$a返回与$channel相同的字数。

$channel = "test1 test2 test3 test4 testIgnore1 testIgnore2 testIgnore3"
$a = Select-String -InputObject $channel -Pattern "test" 

这里应该是什么样的解决方案?

2 个答案:

答案 0 :(得分:8)

使用-AllMatches参数开关从Select-String获取所有匹配项:

$channel = "test1 test2 test3 test4 testIgnore1 testIgnore2 testIgnore3"
$a = Select-String -InputObject $channel -Pattern "test" -AllMatches

$a将包含MatchInfo个对象。统计其Matches

$a.Matches.Count

答案 1 :(得分:5)

$channel = "test1 test2 test3 test4 testIgnore1 testIgnore2 testIgnore3"
([regex]::Matches($channel, "test" )).count

将为您提供比赛计数:7