我有这样的坐标:
28.62834,41.11797,0 // every line must be at this lenght
28.62881,41.11737,0
28.6289,41.11725,0 // must add 0 (zero) to 28.6289 , it should look like this: 28.62890
28.62898,41.11716,0
28.629,41.11688,0 // must add two 0 (zero) to 28.629 , it should look like this: 28.62900
28.62935,41.1167,0
28.62978,41.11615,0
28.62996,41.11593,0
28.630,41.115,0 // must add two 0 (zero) to 28.630 , it should look like this: 28.63000 and must add two 0 (zero) to 41.115 , it should look like this: 41.11500,我想将0(零)添加到纬度和经度值中,使每行长度相同。纬度和经度必须在圆点后面有5数字。例子: 28.XXXXX,41.XXXXX
我想要的:
28.62834,41.11797,0
28.62881,41.11737,0
28.62890,41.11725,0
28.62898,41.11716,0
28.62900,41.11688,0
28.62935,41.11670,0
28.62978,41.11615,0
28.62996,41.11593,0
28.63000,41.11500,0在notepad++中有一种简单的方法吗?
发布于 2020-03-08 10:53:00
两步。
首先,在每一个太短的数字后面加零。用\b(\d\d\.\d{0,4}),进行正则表达式替换为${1}00000,。
第二,移除多余的零。用\b(\d\d\.\d{5})0+,进行正则表达式替换为$1,。
解释:
第一个正则表达式找到两个数字,后面跟着一个点,然后是零到四个移动数字,最后是一个逗号。没有必要在圆点后面找五位数。替换确保每个数字至少有五位数。
第二个正则表达式类似于第一个正则表达式,但它在点之后找到了5位数的数字,然后找到了一些零,最后找到了逗号。
这与这个答案中的基本相同,但是regexs在右边添加/移除零。
发布于 2020-03-08 11:13:04
您可以在PythonScript插件中运行python脚本。
如果尚未安装,请遵循以下指南
创建一个脚本(Plugins >> PythonScript >>新脚本)
复制此代码并保存文件(例如,format.py):
import re
def format(match):
nums = match.group(1).split(',')
return "%7.5f,%7.5f;%d" % (float(nums[0]), float(nums[1]), int(nums[2]) )
editor.rereplace('^(.+)$', format)假设 28.629350,41.1167,0必须是28.62935,41.11670,0
给定示例的结果:

https://stackoverflow.com/questions/60584654
复制相似问题