2016-08-11 125 views
-1

我有一個包含以下文本的文件:PowerShell的 - 與通配符文件替換字符串

hello 
hello 
world 
world 
this is a testVersion=1.2.3.4 test test 

我試圖使用PowerShell v2的使用成爲版本4.3.2.1 =更新版本= 1.2.3.4 -replace 版本號是隨機的,所以這需要考慮一個未知的版本號,但格式將始終與單詞版本,等號和交替數字,句點,數字,句點,數字,句號相同,版本號的數字。如您所見,Version = 1.2.3.4的左側和右側還有其他文本,並且需要保留在不受影響的位置。更改版本號後,我需要將這些更改寫入新文件。任何幫助將不勝感激!謝謝

回答

2

一個不完整的例子,應該是PS 2兼容。

'Version=1.2.3.4' -replace '(\d+)\.(\d+)\.(\d+)\.(\d+)', '$4.$3.$2.$1' 
+0

感謝您的回覆克里斯 - 唯一的問題是,我需要解決未知的版本號,如果它不是1.2.3.4。有任何想法嗎? – oz888

+0

就是這樣。 4個數字用點分隔,用第一個匹配的正則表達式組反向重新組合。 $ 1到$ 4是對匹配組的引用,而不是文字值。 –

+0

啊哈,謝謝你的澄清克里斯 - 你是男人 – oz888