如果在数字的后面或前面替换点

问题描述 投票:1回答:2

我有很多行,看起来像这样:

"d6.der.ld"   "5.3355"    "0.4555"

我在PowerShell中完成了这个,用逗号替换了点(,)

(Get-Content "data.tsv") | Foreach-Object {$_ -replace "\.", ","} | Set-Content "data.tsv"

哪个工作正常。但我希望它只能取代0-9号码是否在前面和后面。

谢谢。

regex
2个回答
3
投票

使用下面的正则表达式,然后用您想要的字符串替换匹配的点。

(?<=\d)\.(?=\d)

它仅匹配所有点,如果它前面跟着一个数字字符。


1
投票

你可以使用这个正则表达式:

{$_ -replace "([0-9])\.([0-9])", "$1,$2"}
© www.soinside.com 2019 - 2024. All rights reserved.