2011-11-23 68 views
1

我需要PowerShell腳本的幫助。幫助PowerShell獲得部分價值

我有一個值 - 2.0.0.0(它可能是與3個句號分隔的任何值)

我想剛纔得到的前三個數字,例如2.0.0

使用PowerShell,怎麼我可以這樣做嗎?

回答

2

正則表達式是一種靈活的方式來做到這一點:

"1.2.3.4" -replace "(.*)\.(.*)\.(.*)\.(.*)",'$1.$2.$3' 

或吉文利維的回答啓發:

你可以使用toString方法與三場的場數:

([version]"1.2.3.4").tostring(3) 
+1

Oooh ...和「現在你有兩個問題」解決方案勝出。 :) – EBGreen

1

像這樣:

$a = "2.0.0.0" 

$a.Remove($a.LastIndexOf('.')) 

2.0.0 
0

什麼都沒有錯其他的答案,而只是表現出更多的多樣性:

[string]::Join('.', '2.0.0.0'.Split('.')[0..2]) 
4

這裏的另一種方式:

PS> '2.0.0.0'.split('.')[0..2] -join '.' 
2.0.0 

順便說一句,你可以將它轉換爲system.version對象並使用它的屬性:

PS> [version]'2.0.0.0' 

Major Minor Build Revision 
----- ----- ----- -------- 
2  0  0  0