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

~RA~

Одарённая.
Топикстартер
12 лет на форуме
Сообщения
11 808
Реакции
3 434
Как
Код:
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. Добавить один дефис.
Желательно за один проход.
 

veretragna

γνώσις
Сообщения
578
Реакции
199
Реально сделать регуляркой. Помозгую над формой.
 

К.Т.

Участник
Сообщения
323
Реакции
337
Код:
^(\d+:)\h(\d+)[.,](\d+)\h->\h(\d+:)\h(\d+)[.,](\d+)
$1$2.$3 --> $4$5.$6
 
  • Спасибо
Реакции: ~RA~

veretragna

γνώσις
Сообщения
578
Реакции
199
Код:
(\d{2}): (\d{2})[,.](\d{3}) -> (\d{2}): (\d{2})[,.](\d{3})
$1:$2.$3 --> $4:$5.$6
Если формат цифр строго соблюдается и длина чисел не вариируется, можно оставить после \d количество символов в фигурных скобках. Если вариируется, {2} и прочие заменить на +.
Группы чисел выделены из текста, разделители прописаны отдельно, чтобы при необходимости можно было легко поменять.
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
Т.е. всегда стоит, к примеру, 01. Нет такого как 1 или 22 или 333
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
да.
 

xenOnn

15 лет на форуме
Сообщения
287
Реакции
45
Ну вы ведь поняли что автор ответа имеет в виду...)
 

~RA~

Одарённая.
Топикстартер
12 лет на форуме
Сообщения
11 808
Реакции
3 434
Подлатал под новые реалии, пусть здесь будет тоже
Код:
^(\d+)[:]\h(\d+)[:]\h(\d+)[,](\d+)\h->\h(\d+)[:]\h(\d+)[:]\h(\d+)[,](\d+)
$1:$2:$3,$4 --> $5:$6:$7,$8
 
  • Спасибо
Реакции: RIKITIKI