You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取含指定字符串的行并移除该字符串,同时拆分姓名信息?

解决方案

这里有个简洁的调整方案,能完美匹配你的需求,我们来一步步优化你的代码:

首先,你的原代码通过split得到的列表第一个元素是空字符串,是因为前缀T - 在每行的开头,拆分后第一个部分自然为空。我们直接取拆分后的第二个元素(索引为1)就能拿到纯内容;另外处理作者名时,只需要把逗号替换成空格即可。

完整代码

with open('file.txt','r') as f:
    # 先初始化变量,避免找不到对应行时出现未定义错误
    title = ""
    author = ""
    for line in f:
        # 先去除每行首尾的空白、换行符,避免原文件的空行干扰判断
        stripped_line = line.strip()
        if "T - " in stripped_line:
            # 拆分后直接取第二部分(索引1),跳过空的前缀部分
            title = stripped_line.split('T - ')[1]
        elif "A - " in stripped_line:
            # 提取作者部分后,把逗号替换成空格
            raw_author = stripped_line.split('A - ')[1]
            author = raw_author.replace(',', ' ')

# 输出最终结果
print(title)
print(author)

代码说明

  1. 初始化变量:给title和author设置初始空字符串,防止文件中缺少对应行时抛出NameError(原代码如果没找到"A - "行,o_a会未定义)
  2. 清理行内容:用strip()处理每行,去掉多余的换行符和首尾空白,避免原文件中的空行或空格影响匹配
  3. 提取目标内容:拆分后直接取索引为1的元素,跳过split产生的空字符串
  4. 格式化作者名:用replace(',', ' ')把作者名里的逗号替换成空格,得到你想要的Wood M.A.格式

运行输出

Python and Matplotlib Essentials for Scientists and Engineers
Wood M.A.

内容的提问来源于stack exchange,提问作者ahmed redha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:55:48