删除字符串中间的数字

删除字符串中间的数字

我想使用正则表达式的查找/替换从字符串中删除多余的小数。

例如 :

<xml_taga>145.3345542123</xml_taga>
<xml_tagb>125.1245471</xml_tagb>
<xml_tagc>42.12</xml_tagc>

看起来应该是这样的:

<xml_taga>145.33</xml_taga>
<xml_tagb>125.12</xml_tagb>
<xml_tagc>42.12</xml_tagc>

我得到的最大答案是这个

(\.\d{3,12})

任何帮助将不胜感激。

答案1

  • Ctrl+H
  • 查找内容:(?<=\d\.\d\d)\d+\d\.\d\d\K\d+
  • 用。。。来代替:LEAVE EMPTY
  • Replace all

解释:

(?<=        : start lookbehind, make sure we have 
  \d\.\d\d  : a digit, a dot and 2 digits
)           : end lookbehind
\d+         : 1 or more digits

其他选择:

\d\.\d\d    : a digit, a dot and 2 digits
\K          : forget what we have seen until this point
\d+         : 1 or more digits
  • 检查正则表达式

给定示例的结果:

<xml_taga>145.33</xml_taga>
<xml_tagb>125.12</xml_tagb>
<xml_tagc>42.12</xml_tagc>

答案2

我想使用正则表达式的查找/替换从字符串中删除多余的小数。

  • 菜单“搜索”>“替换”(或Ctrl+ H

  • 将“查找内容”设置为(\d+\.\d\d).*<

  • 将“替换为”设置为\1<

  • 启用“正则表达式”和“匹配换行符”

  • 点击“全部替换”

    图像

前:

<xml_taga>145.3345542123</xml_taga>
<xml_tagb>125.1245471</xml_tagb>
<xml_tagc>42.12</xml_tagc>

后:

<xml_taga>145.33</xml_taga>
<xml_tagb>125.12</xml_tagb>
<xml_tagc>42.12</xml_tagc>

进一步阅读

相关内容