在Python中,你可以使用不同的方法来提取英文名字中的姓氏。以下是几种常见的方法:
字符串切分
```python
name = "John Smith"
last_name = name
first_name = name[1:]
print(last_name) 输出:John
print(first_name) 输出:Smith
使用姓名识别库 (如`pyhanlp`):
```python
from pyhanlp import HanLP
text = "John Smith"
for term in HanLP.segment(text):
if str(term.nature) == "nr":
last_name = term.word
first_name = term.word[1:]
break
print(last_name) 输出:John
print(first_name) 输出:Smith

使用正则表达式
```python
import re
name = "John Smith"
match = re.match(r"([A-Z][a-z]+)\s([A-Z][a-z]+)", name)
if match:
last_name = match.group(1)
first_name = match.group(2)
print(last_name) 输出:John
print(first_name) 输出:Smith
使用`Nameparser`库
```pythonfrom nameparser import HumanName
name = "Dr. John A. Smith Jr."
name_obj = HumanName(name)
print(name_obj.last) 输出:Smith
print(name_obj.first) 输出:John
以上方法可以帮助你从英文名字中提取姓氏。选择哪种方法取决于你的具体需求以及名字的格式。如果你需要处理复杂的姓名格式,`Nameparser`库是一个很好的选择,因为它可以自动识别和规范化姓名格式
