You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清除表格中奇数位置逗号,仅保留偶数位置逗号?

用正则表达式一键转换几何坐标格式

核心思路

你要做的其实就是把每组坐标对里的逗号换成空格,只保留分隔不同坐标对的逗号。比如把106.812271, -6.361551, 106.812111, -6.361339改成106.812271 -6.361551, 106.812111 -6.361339,完全不用拆分再拼接,正则表达式一步就能搞定。

正则匹配与替换规则

匹配模式

(\d+\.?\d*),\s*(-?\d+\.?\d*)

替换内容

$1 $2

简单解释

  • (\d+\.?\d*):捕获第一个坐标(兼容整数或小数,比如106或者106.812271),记为分组$1
  • ,\s*:匹配坐标对之间的逗号,以及逗号后面的任意数量空格
  • (-?\d+\.?\d*):捕获第二个带负号的坐标(比如-6.361551),记为分组$2
    替换时直接把「逗号+空格」换成「空格」,将两个坐标合并成一组。

不同场景的使用方法

1. Python代码批量处理

如果用Python处理字符串,直接调用re.sub即可:

import re

# 示例几何字段字符串
geometry_str = "POLYGON (( 106.812271, -6.361551, 106.812111, -6.361339, ... ))"
# 执行正则替换
formatted_str = re.sub(r'(\d+\.?\d*),\s*(-?\d+\.?\d*)', r'\1 \2', geometry_str)
print(formatted_str)

2. Excel/Google Sheets 批量替换

在表格工具中操作:

  1. 选中需要处理的单元格区域
  2. 按Ctrl+H打开替换窗口,点击「更多」并勾选「使用通配符」
  3. 查找内容填入:([0-9.]@), *(-[0-9.]@)
  4. 替换为填入:\1 \2
  5. 点击「全部替换」完成转换

3. 文本编辑器(VS Code/Sublime)

处理纯文本文件时:

  1. 打开文件后按Ctrl+F切换到替换模式
  2. 点击正则表达式图标(.*样式按钮)
  3. 查找内容填入:(\d+\.?\d*),\s*(-?\d+\.?\d*)
  4. 替换为填入:$1 $2
  5. 点击「全部替换」即可批量转换所有坐标对

特殊情况适配

如果坐标包含科学计数法(比如1.06812271e+02),可以使用下面的正则,替换内容改为$1 $3:

([+-]?\d+\.?\d*([eE][+-]?\d+)?),\s*([+-]?\d+\.?\d*([eE][+-]?\d+)?)

内容的提问来源于stack exchange,提问作者james iskandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:31:10