gpt4 book ai didi

Python 正则表达式 - 在一些值上拆分字符串,但不是全部

转载 作者:太空宇宙 更新时间:2023-11-04 04:23:32 34 4
gpt4 key购买 nike

我正在尝试构建一个函数来拆分名称列表。

name_ex = 'Futrelle, Mrs. Jacques Heath (Lily May Peel)'

split_name =re.split('\. |, | ', name_ex)
last_name = split_name[0]
title = split_name[1]
other_names = split_name[2:]

打印split_name时的输出如下

['Futrelle', 'Mrs', 'Jacques', 'Heath', '(Lily', 'May', 'Peel)']

然而我想要实现的是:

['Futrelle', 'Mrs', 'Jacques', 'Heath', 'Lily May Peel']

知道我将如何实现这一点吗?

附加上下文- 一些名称没有括号中的附加名称- 所有姓名按姓氏、职务、名字(中间名可选)、括号内的姓名顺序

最佳答案

这应该有所帮助。

演示:

import re

name_ex = 'Futrelle, Mrs. Jacques Heath (Lily May Peel)'
m = re.match(r"(?P<lname>[A-Za-z]+), (?P<title>[A-Za-z]+)\. (?P<fname>[A-Za-z]+)(?P<mname>[\sA-Za-z]+)? \((?P<bname>.*?)\)", name_ex)
if m:
print(m.groups())

输出:

('Futrelle', 'Mrs', 'Jacques', ' Heath', 'Lily May Peel')

关于Python 正则表达式 - 在一些值上拆分字符串,但不是全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53960463/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com