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

У меня есть строка:

"""Hello. It's good to meet you. My name is Bob.""" 

Я пытаюсь найти лучший способ разбить это на список, разделенный на периоды и разрывы строк:

 ["Hello", "It's good to meet you", "My name is Bob"] 

Я уверен, что должен использовать регулярные выражения, но, не имея опыта с ними, я изо всех сил пытаюсь понять, как это сделать.

5 Solutions collect form web for “Разделите строку на разрыв строки или период с помощью регулярных выражений Python”

Вы не нуждаетесь в регулярном выражении.

 >>> txt = """Hello. It's good to meet you. ... My name is Bob.""" >>> txt.split('.') ['Hello', " It's good to meet you", '\nMy name is Bob', ''] >>> [x for x in map(str.strip, txt.split('.')) if x] ['Hello', "It's good to meet you", 'My name is Bob'] 
 >>> s = """Hello. It's good to meet you. ... My name is Bob.""" >>> import re >>> p = re.compile(r'[^\s\.][^\.\n]+') >>> p.findall(s) ['Hello', "It's good to meet you", 'My name is Bob'] >>> s = "Hello. #It's good to meet you # .'" >>> p.findall(s) ['Hello', "#It's good to meet you # "] 

Для вашего примера было бы достаточно разделить на точки, необязательно сопровождаемые пробелами (и игнорировать пустые результаты):

 >>> s = """Hello. It's good to meet you. ... My name is Bob.""" >>> import re >>> re.split(r"\.\s*", s) ['Hello', "It's good to meet you", 'My name is Bob', ''] 

В реальной жизни вам придется обращаться с Mr. Orange , Dr. Greene и George W. Bush , хотя …

Вы можете использовать этот раскол

 re.split(r"(?<!^)\s*[.\n]+\s*(?!$)", s) 

Мой:

 re.findall('(?=\S)[^.\n]+(?<=\S)',su) 
Python - лучший язык программирования в мире.