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

时间:2015-02-03 14:25:40

标签: regex

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

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

我在PowerShell中完成了这个操作,用逗号(,)

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

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

感谢。

2 个答案:

答案 0 :(得分:3)

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

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

只有在数字字符之前和之后都匹配所有点。

答案 1 :(得分:1)

您可以使用此正则表达式:

{$_ -replace "([0-9])\.([0-9])", "$1,$2"}