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

如何将多行字符串中每行的首个单词存入列表

解决多行字符串提取每行首个逗号前内容的问题

我来帮你搞定这个问题!你的需求其实很清晰:从每行以逗号分隔的多行字符串里,提取每行第一个逗号前的内容组成目标列表。用Python实现的话可以分几步来做,而且还能简化成一行代码,我给你详细说明:

核心思路

  1. 先把整个多行字符串按换行符\n拆分成单独的行列表;
  2. 遍历每一行,对每行只按第一个逗号分割(避免后续逗号干扰),取分割后的第一部分;
  3. 过滤掉可能存在的空行(比如字符串首尾的换行导致的空元素),把有效内容收集到结果列表里。

代码实现

基础版(分步清晰)

# 你的输入字符串
input_str = """AIG,10,,,,Yes,,,Jr,,,MS,,
Baylor College of Medicine,19,Yes,Yes,,,,,,,,,,Recent
CGG,17,Yes,Yes,,,,,,,,MS,PhD,Recent
Citi,27/28,Yes,,,Yes,,,Jr,Sr,,,,
"""

# 1. 按换行拆分每行
lines = input_str.split('\n')
result = []

# 2. 遍历处理每行
for line in lines:
    # 跳过空行(比如字符串末尾的换行)
    if not line.strip():
        continue
    # split(',', 1) 只分割第一个逗号,取第一部分
    first_item = line.split(',', 1)[0]
    result.append(first_item)

print(result)
# 输出: ['AIG', 'Baylor College of Medicine', 'CGG', 'Citi']

简化版(列表推导式)

如果追求简洁,可以把逻辑压缩成一行列表推导式,效果完全一样:

input_str = """AIG,10,,,,Yes,,,Jr,,,MS,,
Baylor College of Medicine,19,Yes,Yes,,,,,,,,,,Recent
CGG,17,Yes,Yes,,,,,,,,MS,PhD,Recent
Citi,27/28,Yes,,,Yes,,,Jr,Sr,,,,
"""

result = [line.split(',', 1)[0] for line in input_str.split('\n') if line.strip()]
print(result)

关键细节说明

  • 用split(',', 1)而不是单纯的split(','):这个第二个参数1表示只分割第一次出现的逗号,这样即使你的首个字段里包含逗号(比如假设某行是"New York, USA,xxx..."),也能完整提取出"New York, USA",而不会被拆分。
  • 加入if line.strip()判断:是为了处理字符串首尾可能存在的空行(比如输入字符串最后有个换行符,会生成空的line元素),避免把空字符串加入结果列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:25:33