Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如果在数字后面或前面,则替换圆点_Regex - Fatal编程技术网

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提到的