Eug*_*u N 2 powershell replace
在PowerShell中我有代码
";10000;100;.0000" -replace ";.0000",";0.00"
Run Code Online (Sandbox Code Playgroud)
结果是: ";0.00;100;0.00"
怎么可能?
-replace使用正则表达式.因此,您正在寻找;.0000具有.匹配任何字符的正则表达式特殊字符的内容.这就是为什么一开始就有一场比赛.
如果你逃离那个时期,它会被字面上处理,你会得到预期的结果.
PS C:\Users\Matt> ";10000;100;.0000" -replace ";.0000",";0.00"
;0.00;100;0.00
PS C:\Users\Matt> ";10000;100;.0000" -replace ";\.0000",";0.00"
;10000;100;0.00
Run Code Online (Sandbox Code Playgroud)
您可以在regex101上查看更多解释来查看示例.
; 匹配角色; 按照字面
.匹配任何字符(换行符除外)
0000字面匹配字符0000
以上内容取自链接资源.
所以你要么需要注意正则表达式控制字符(这不是一件难以进入的事情),或者如果你只是在进行基本的搜索/替换,你也可以使用不使用正则表达式的.Replace()字符串方法.
PS C:\Users\Matt> ";10000;100;.0000".replace(";.0000",";0.00")
;10000;100;0.00
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |