我正在尝试将Zone version: 2017102102
替换为Zone version: 2018032501
。我遇到的问题是数字部分不一致,但字符串长度和格式始终为Zone Version: NNNNNNNNNN
。怎么说"用2018032501替换字符16-25"在powershell?
我熟悉基本的替换操作。我只需要知道如何告诉-replace操作只改变字符串中的那些特定字符。
答案 0 :(得分:1)
您可以使用正则表达式匹配10位数字并替换它们。
"Zone version: 2017102102" -replace "(\d{10})",2018032501
答案 1 :(得分:1)
在Powershell中可以使用一些选项来执行字符串操作。对于您的任务,我基本上看到了两种稍微简单的方法来实现您的需求。
$OriginalString = 'Zone version: 2017102102'
$NewString = '2018032501'
使用-replace
运算符
$OriginalString -replace 'Zone\sversion:\s+\d{10}',"Zone version: $NewString"
或使用子串。
$OriginalString.Substring(0,15) + $NewString