Notepad ++ заменяет значения экспоненты на ноль - PullRequest
1 голос
/ 24 апреля 2020

Я использую регулярное выражение notepad ++ (7.8.1) \ d +. \ D {2} \ K \ d +, чтобы изменить десятичную точку значений в большом текстовом файле. Это занимает немного времени и обычно работает хорошо, но когда я закончил, я получил ошибки при импорте файла. Это большой текстовый файл (большой для Excel) с 3 столбцами, разделенными табуляцией. например, 266051.07799999998 7617493.20100000035 -15.2008895874023438

Оказывается, некоторые значения были записаны как экспоненциальные значения (например, -5.992e-06) и не преобразованы.

Существует ли быстрый способ преобразования этот текст в простой 0

1 Ответ

1 голос
/ 24 апреля 2020
  • Ctrl + H
  • Найти что: (-?\d+\.\d+e[+-]?\d+)|\d\.\d\d\K\d+
  • Заменить на: (?{1}0:)
  • CHECK Обтекание
  • CHECK Регулярное выражение
  • Заменить все

Объяснение:

  (             # group 1
    -?            # optional minus sign
    \d+           # 1 or more digits
    \.            # decimal point
    \d+           # 1 or more digits
    e             # exp
    [+-]?         # optional sign
    \d+           # 1 or more digits
  )             # end group 1
|             # OR
\d\.\d\d        # a digit, a dot, 2 digits
\K              # forget them
\d+             # 1 or more digits

Замена:

(?{1}       # if group 1 exists, exponantial value
  0           # replace with 0
  :         # else, nothing
)           # end conditional

Снимок экрана (до ):

enter image description here

Снимок экрана (после):

enter image description here

...