Notepad ++正则表达式“舍入数字”

时间:2014-04-28 15:23:48

标签: regex svg rounding shape

我的SVG文件中有这个:

d="
m49.84965,40.23129
l99.5682,19.94812
l0.2192,100.11412
l-100.78656,-19.99842
z"

我想要圆角坐标:

d="
m50,40
l100,20
l0,100
l-100,-20
z"/>

整个文件要大得多。我使用正则表达式来擦除小于5的小数:

\.[01234]\d*

但是随着舍入更高的小数,我还有更多的工作:

0\.[56789]\d* ;replace with: 1
1\.[56789]\d* ;replace with: 2
2\. ...

当我不得不处理像这样的数字时,它开始变得复杂:-19.99842

我该如何处理?

1 个答案:

答案 0 :(得分:2)

不确定只能在Notepad ++中完成,我会使用Powershell。这样你就可以混合正则表达式和数字函数。像这样:

gc YourFileName | % {$l = $_; [regex]::Matches($_, '[\d.]+') | % {
$l = $l -Replace $_.Value, ([Int32]$_.Value).ToString()}; $l} | Out-File YourNewFileName