刪除字串中間的數字

刪除字串中間的數字

我想使用正則表達式查找/替換來刪除字串中多餘的小數。

例如 :

<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>

進一步閱讀

相關內容