Regex 如果在数字后面或前面,则替换圆点
我有很多这样的行:Regex 如果在数字后面或前面,则替换圆点,regex,Regex,我有很多这样的行: "d6.der.ld" "5.3355" "0.4555" 我在PowerShell中这样做了,它用逗号替换了点 获取Content data.tsv | Foreach对象{$\替换\,}|设置Content data.tsv 这很好用。但我想它只取代,如果一个数字0-9是前面和后面的点 谢谢。使用下面的正则表达式,然后用您想要的字符串替换匹配的点 (?<=\d)\.(?=\d) 只有在前面和后面有一个数字字符时,它才匹配所有的点。使用下面的正则表达式,
"d6.der.ld" "5.3355" "0.4555"
我在PowerShell中这样做了,它用逗号替换了点
获取Content data.tsv | Foreach对象{$\替换\,}|设置Content data.tsv
这很好用。但我想它只取代,如果一个数字0-9是前面和后面的点
谢谢。使用下面的正则表达式,然后用您想要的字符串替换匹配的点
(?<=\d)\.(?=\d)
只有在前面和后面有一个数字字符时,它才匹配所有的点。使用下面的正则表达式,然后用所需的字符串替换匹配的点
(?<=\d)\.(?=\d)
只有在前面和后面有一个数字字符时,它才匹配所有的点。您可以使用这个正则表达式:
{$_ -replace "([0-9]<$1>)\.([0-9]<$2>)", "$1,$2"}
表示您将数字保存在$1内,允许您在使用此正则表达式后重新使用它:
{$_ -replace "([0-9]<$1>)\.([0-9]<$2>)", "$1,$2"}
表示您将数字保存在$1内,允许您在之后重新使用它。看起来您正在尝试使用逗号分隔符而不是句点来格式化数字。如果您可以访问制作DAT.TSV的程序,请考虑在源代码中更改它,以让您选择格式。这比使用正则表达式要可靠得多。看起来您正试图用逗号分隔符而不是句点来格式化数字。如果您可以访问制作DAT.TSV的程序,请考虑在源代码中更改它,以让您选择格式。这比使用正则表达式要可靠得多。看起来您遗漏了另一对括号。这删除了逗号前的0。是的,我实际上遗漏了一对括号,谢天谢地,@PacoAbatoLooks提到的,就像你错过了另一对括号一样。这删除了逗号前的0。是的,我实际上错过了一对括号,谢天谢地,@PacoAbato提到的