正则表达式在Notepad ++中查找和替换文本之间的空格

时间:2016-05-02 14:48:45

标签: regex notepad++

PolygonID   SubPolygonID    PointID Longitude   Latitude    AREA_1
1   1   1   103.58792099955456933   0.45318600043361812 Northern Sumatera
1   1   2       103.58810399989971529   0.44205199960015307 Northern Sumatera
1   1   3       103.58190199987745928   0.44590400006961772 Northern Sumatera
1   1   4       103.58061199974406463   0.45378900036212144 Northern Sumatera
1   1   5       103.58309900021873773   0.45947099978684491 Northern Sumatera
1   1   6       103.58792099955456933   0.45318600043361812 Northern Sumatera
1   2   1   103.57287600002746331   0.46851599961371448 Northern Sumatera

我最近处理txt多边形文件,其中包含特定点的坐标,但是在txt文件中,我必须调整列的对齐方式,因为经度列中的几行没有很好地对齐。实际上我期待它是:

Expected Result

我正在考虑使用notepadd ++ find和regex替换来解决这个问题,但我无法找到找到错误模式的正确语法。我想到使用(数字)\ t(数字)\ t(数字)\ t(数字)并将其替换为(数字)\ t(数字)\ t(数字)\吨\吨(数) 但我不知道如何用正则表达式语法编写它。 任何人都可以帮助我解决这个问题,甚至有更好的逻辑来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您可以使用:

(((?<=^|\s)[.\d]+)\s+)

这会查找数字或点,后跟至少一个空格,确保前面的内容是空格或行的开头。然后,使用$2\t替换这些群组,请参阅a demo on regex101.com

答案 1 :(得分:0)

尝试查找X个空格并替换为您想要的数字。

要指定要在正则表达式中查找的空格数,可以执行此操作。

...([[:blank:]]{x})...