4

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

Например :

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

Любая помощь будет оценена.

2 ответа2

2
  • Ctrl+H
  • Найти что: (?<=\d\.\d\d)\d+ ИЛИ \d\.\d\d\K\d+
  • Заменить на: LEAVE EMPTY
  • Заменить все

Объяснение:

(?<=        : 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>

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .