Удалить цифры из середины строки

Удалить цифры из середины строки

Я хочу удалить лишние десятичные знаки из строки, используя функцию поиска/замены с регулярным выражением.

Например :

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

дальнейшее чтение

Связанный контент