我希望获得test
变量中$channel
字的总数,但$a
返回与$channel
相同的字数。
$channel = "test1 test2 test3 test4 testIgnore1 testIgnore2 testIgnore3"
$a = Select-String -InputObject $channel -Pattern "test"
这里应该是什么样的解决方案?
答案 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