2016-08-11 120 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