使用正则表达式对数组中的所有数字进行取整

Floor all numbers in an array using regular expression

我有一个 53MB 的文件,其中包含以下形式的大量数组:

[ 730762.36433458142, 7043260.1900061285 ]

数组中总是有两个数字,我想在Notepad++中使用正则表达式替换,所以数组变成了这样的形式:

[ 730762, 7043260 ]

所以从数字中去掉逗号后的数字。

问题是这些数组外面还有逗号,应该保持原样。

有谁知道我可以使用哪个正则表达式?

编辑: @npinti 提供的解决方案使我的编辑器崩溃。我总是使用一个带有 lookbehind 和 lookahead 的表达式,只找到逗号后面的点和数字,并将其替换为空字符串,但我再也找不到了。

提供的解决方案可能会占用大量内存?我不知道。

您可以这样使用:\[\s+(\d+)\.\d+,\s+(\d+)\.\d+\s+] 并将其替换为 [ , ]

鉴于此:

[ 730762.36433458142, 7043260.1900061285 ]
[ 123.36433458142, 456.1900061285 ]
[ 456.36433458142, 789.1900061285 ]
123.123,123.456
456.789,456.1010
[ 789.36433458142, 987.1900061285 ]
[ 987.36433458142, 654.1900061285 ]

产量

[ 730762, 7043260 ]
[ 123, 456 ]
[ 456, 789 ]
123.123,123.456
456.789,456.1010
[ 789, 987 ]
[ 987, 654 ]

您可以使用以下方式进行匹配

\[( \d+)\.\d+,( \d+)\.\d+ \]

并替换为[, ]