正则表达式在记事本++中将小数位数减少到5位

RegEx to reduce the decimal places to 5 digits in notepad++

我正在尝试减小 geoJSON 文件的大小,以便我的网站查看者可以非常快速地查看页面中的地图。

您可以在此处找到有关 geoJSON 格式的更多信息http://geojson.org/

我读了一篇博客,建议使用记事本 ++ 减少 GeoJSON 文件中小数点后的位数。

我可以找到删除数字中所有小数位的答案。但我的问题是我想保留数字中的前 5 位小数并删除其他位。

例如:-103.3751447563353

替换后:-103.37514

编辑: 我尝试了这些答案,但我的记事本++显示 "can't find the text"。我已确保选中正则表达式复选框,但仍然没有运气 这将为每个纬度或经度坐标节省 10 个以上的字符。

请分享你的答案

您可以使用以下正则表达式:(\d+\.\d{5})\d*

\d+ 查找任意数量的数字。

\. 查找字符 .

\d{5}让5位数字通过

\d* 查找剩余数字

然后您可以使用

See regex in use here

(?<=\d\.\d{5})\d+
  • (?<=\d\.\d{5}) 正向后视确保前面是数字、点,然后是 5 位数字
  • \d+ 匹配一位或多位数字(这将被替换)

什么都不替换


另一种选择。 See regex in use here

\d+\.\d{5}\K\d+
  • \d+匹配一位或多位数字
  • \.字面匹配点字符
  • \d{5} 准确匹配任何数字 5 次
  • \K 重置报告匹配的起点。任何先前消耗的字符不再包含在最终匹配中
  • \d+ 匹配一位或多位数字(这将被替换)

什么都不替换