[ID CC-CC2022] Пробел, запятая и дефис.

  • Автор темы Автор темы ~RA~
  • Дата начала Дата начала

~RA~

Одарённая.
Топикстартер
12 лет на форуме
Сообщения
12 624
Реакции
3 704
Как
Код:
01: 41.120 -> 01: 42.630
01: 42,710 -> 01: 49,370
заменить на
Код:
01:41.120 --> 01:42.630
01:42.710 --> 01:49.370
?
1. Убрать пробел
2. Заменить запятую на точку (если точка, то не трогать).
3. Добавить один дефис.
Желательно за один проход.
 
Реально сделать регуляркой. Помозгую над формой.
 
Код:
^(\d+:)\h(\d+)[.,](\d+)\h->\h(\d+:)\h(\d+)[.,](\d+)
$1$2.$3 --> $4$5.$6
 
  • Спасибо
Реакции: ~RA~
Код:
(\d{2}): (\d{2})[,.](\d{3}) -> (\d{2}): (\d{2})[,.](\d{3})
$1:$2.$3 --> $4:$5.$6
Если формат цифр строго соблюдается и длина чисел не вариируется, можно оставить после \d количество символов в фигурных скобках. Если вариируется, {2} и прочие заменить на +.
Группы чисел выделены из текста, разделители прописаны отдельно, чтобы при необходимости можно было легко поменять.
 
Т.е. всегда стоит, к примеру, 01. Нет такого как 1 или 22 или 333
 
да.
 
Ну вы ведь поняли что автор ответа имеет в виду...)
 
Подлатал под новые реалии, пусть здесь будет тоже
Код:
^(\d+)[:]\h(\d+)[:]\h(\d+)[,](\d+)\h->\h(\d+)[:]\h(\d+)[:]\h(\d+)[,](\d+)
$1:$2:$3,$4 --> $5:$6:$7,$8
 
  • Спасибо
Реакции: RIKITIKI