如何拆分字符串并分离姓名与出生日期列表?
解决方案
首先你需要先把原始字符串正确赋值给content变量,然后通过按行分割处理每一条记录(每一行对应一个人的姓名和出生日期),具体实现代码如下:
# 正确初始化包含原始数据的content变量 content = """Orville Wright 21 July 1988 Rogelio Holloway 13 September 1988 Marjorie Figueroa 9 October 1988 """ # 按行拆分内容,同时过滤空行并去除每行首尾空白 lines = [line.strip() for line in content.split('\n') if line.strip()] # 提取所有出生日期 birthdates = [] for line in lines: # 将单条记录拆分为单词列表 parts = line.split() # 姓名为前两个单词,从第3个单词开始的部分就是出生日期 birthdate = ' '.join(parts[2:]) birthdates.append(birthdate) # 按要求格式输出 print("Birthdate:") for date in birthdates: print(date)
代码说明
- 用三引号包裹多行字符串初始化
content,保留原始数据的换行结构。 content.split('\n')将内容按行拆分,再通过列表推导式过滤空行、清理每行首尾的无效空白。- 遍历每条记录时,
line.split()把单条信息拆成单词列表,利用“姓名固定为两个单词”的规则,从索引2开始截取并拼接出完整出生日期。 - 最后按指定格式打印所有提取出的出生日期。
如果遇到姓名包含中间名(多于两个单词)的情况,可以调整提取逻辑:出生日期固定是日、月、年三个元素,直接取单词列表的最后三个元素即可,代码修改为:
birthdate = ' '.join(parts[-3:])
内容的提问来源于stack exchange,提问作者theramannoodle
相关产品推荐
相关产品推荐

