Python: разделение строки и сохранение разделения символов на - PullRequest
0 голосов
/ 24 марта 2020

Это мой первый день работы с регулярными выражениями, и я столкнулся с проблемой. Строка, которой я пытаюсь манипулировать: ...

1-11-1111A month and a day and a year.

Я пытаюсь разбить на: 1-11-1111 и A month a day and a year, используя splitstring = re.split(r'(?=\d+\d+\d+\d)', item), но результаты 1-11- и 1111 A month a day and a year, и я не уверен, где я ошибаюсь, основываясь на том, что я прочитал. Спасибо за ваше время !!

1 Ответ

1 голос
/ 24 марта 2020

Пара вариантов ...

import re

pattern = re.compile(r'([0-9-]+)([A-Z].*)')

item = '1-11-1111A month and a day and a year.'

splitstring = [pattern.match(item)[1], pattern.match(item)[2]]
print(splitstring)

Вывод:

['1-11-1111', 'A month and a day and a year.']

Или с использованием регулярного выражения @Cary Swoveland с исходным разбиением (работает, если это число, за которым следует заглавная буква ' A '...

splitstring = re.split(r'(?<=\d)(?=A)', item)
splitstring

Вывод:

['1-11-1111', 'A month and a day and a year.']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...