2017-04-03 60 views
1

我想獲得$channel變量中test字的總數,但$a返回的結果與$channel相同。從變量中獲取匹配的字數

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

這應該是什麼確切的解決方案?

回答

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

會給你匹配的計數:7

+0

謝謝您的回答 –

+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 
+0

謝謝您的回答 –