Регулярное выражение Python разделяется, но сохраняет определенные символы для разделения - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть следующий текст

text = "Perennials. Stolons slender. Perianth bristles 6 or 7, ca. 2 × as long as nutlet"

Я хочу разделить отрывок, используя отдельный, определенный как ". \ S [AZ]".Тем не менее, я все еще хочу сохранить [AZ] в исходном предложении, так что результат будет таким:

['Perennials',
 'Stolons slender',
 'Perianth bristles 6 or 7, ca. 2 × as long as nutlet']

Пока что я сделал:

re.split(r'\.\s[A-Z]', text)

ноубрал первые алфавиты:

['Perennials',
 'tolons slender',
 'erianth bristles 6 or 7, ca. 2 × as long as nutlet']

Может кто-нибудь помочь?Благодаря ~

1 Ответ

0 голосов
/ 18 декабря 2018

Разделить с помощью заглядывания:

result = re.split(r'\.\s(?=[A-Z])', text)
print(result)

['Perennials', 'Stolons slender', 'Perianth bristles 6 or 7, ca. 2 × as long as nutlet']

Заглядывание (?=[A-Z]) будет утверждать, но не потреблять, что то, что следует за точкой и пробелом, является заглавной буквой.

...