Использование регулярных выражений для изменения строки

1

Как я могу использовать регулярные выражения для изменения этой строки

':: 1:62 2:31 :: 3:4 4:32'

в

':: 1:62.0 2:31.0 :: 3:4.0 4:32.0'

Есть ли какой-либо чистый способ сделать это, не используя re.split?

  • 2
    Вы знаете, что вопрос идет в окне вопроса, верно?
  • 0
    Вы делаете это, потому что хотите, чтобы числа были брошены позже? Там может быть более точное решение, если это ваш код, который выполняет приведение.
Теги:

2 ответа

4
Лучший ответ
>>> re.sub("([0-9]+:[0-9]+)", "\\1.0", ':: 1:62 2:31 :: 3:4 4:32')
':: 1:62.0 2:31.0 :: 3:4.0 4:32.0'

Является ли это адекватным?

  • 0
    да .. это идеально. Спасибо!
  • 1
    Ну и дела, мне понадобилось немного почесать голову, чтобы получить это! Вы используете обратную ссылку \1 и просто добавляете .0 .
Показать ещё 2 комментария
0
>>> re.sub(r'(\d)( |$)', r'\1.0\2', ':: 1:62 2:31 :: 3:4 4:32')
':: 1:62.0 2:31.0 :: 3:4.0 4:32.0'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню