19

私は文字列を持っています:

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

これをピリオドと改行で区切られたリストに分割する最良の方法を見つけようとしています:

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

正規表現を使用する必要があると確信していますが、正規表現を使用した経験がないため、これを行う方法を理解するのに苦労しています。

4

5 に答える 5

2

あなたの例では、ドットで分割し、オプションで空白を続ければ十分です(そして空の結果を無視します):

>>> 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ありますが...

于 2013-07-12T15:12:54.213 に答える
1

この分割を使用できます

re.split(r"(?<!^)\s*[.\n]+\s*(?!$)", s)
于 2013-07-12T15:42:28.630 に答える