Как использовать регулярные выражения, чтобы удалить точки с запятой? - PullRequest
0 голосов
/ 18 января 2019

Здравствуйте, у меня есть такие данные:

a;b;c;d
1;2;3;4
a;g;h;j
f;g;f;d
a;d;8;d

И я бы хотел изменить это так:

a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d

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

У вас есть решение?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 18 января 2019

Если возможными значениями данных являются строчные буквы a-z или цифры, вы можете также захватить первые 3 символа, используя группу захвата и класс символов [a-z0-9], а после этого - точку с запятой. Если может быть более 1 символа, вы можете использовать квантификатор + для класса символов, например [a-z0-9]+

Затем замените на первую группу захвата.

Найти что

^([a-z0-9];[a-z0-9]);

Заменить на

$1

Regex demo

Или с помощью \K вы можете найти ^[a-z0-9];[a-z0-9]\K; и оставить «Заменить» пустым.

0 голосов
/ 18 января 2019

Вот онлайн-тестер регулярных выражений, над которым я работал, вы можете просто заменить свои данные образцами.

Regex : (\w+;)((\w+);(\w+))(;\w+)

DEMO

0 голосов
/ 18 января 2019
  • Ctrl + H
  • Найти что: ^[^;]+;[^;]+\K;
  • Заменить на: LEAVE EMPTY
  • check Обтекание
  • check Регулярное выражение
  • Заменить все

Объяснение:

^           # beginning of string
  [^;]+     # 1 or more non semicolon
  ;         # 1 semi colon
  [^;]+     # 1 or more non semicolon
  \K        # forget all we have seen until this position
  ;         # 1 semi colon

Результат для данного примера:

a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d

enter image description here

0 голосов
/ 18 января 2019

Удерживайте ALT + SHIFT и используйте клавиши со стрелками, чтобы выбрать вторую точку с запятой и удалить ее.

OR

Удерживая ALT, щелкните и перетащите мышь, чтобы выбрать вторую точку с запятой и удалите ее.

OR

  • Найти: ^(...)(.)
  • Заменить на: \1
...