我试图在一个大文本(大约 20 页)中提取所有的名字和姓氏(例如:John Johnson)。
我使用了 \.
作为分隔符的 split 并且有我的正则表达式:
\b([A-Z]{1}[a-z]+\s{1})([A-Z]{1}[a-z]+)\b
不幸的是,我只得到了文本的所有行,而不仅仅是名字和姓氏:
Suddenly, Mary Poppins flew away with her umbrella
Later in the day, John.... bla bla bla
有人可以帮助我吗?
最佳答案
尝试
regex = re.compile("\b([A-Z]{1}[a-z]+) ([A-Z]{1}[a-z]+)\b")
string = """Suddenly, Mary Poppins flew away with her umbrella
Later in the day, John Johnson did something."""
regex.findall(string)
我得到的输出是:
[(u'Mary', u'Poppins'), (u'John', u'Johnson')]
关于python - 在 Python 中提取名字和姓氏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20353995/