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

Python如何将包含课程信息的单行字符串按课程代码拆分换行

Python单行课程信息字符串拆分实现方法

原字符串所有课程信息挤在同一行,每门课程以[A-Z]{2}\d+[A-Z]:(如CS121P:)的格式开头,课程之间用多个空格分隔。以下是两种可直接落地的实现方案:


方法1:正则表达式匹配替换(通用性更强)

如果后续课程编码规则不变(2个大写字母+数字段+1个大写字母+冒号),用正则处理不需要依赖固定开头,适配性更高:

import re

# 原输入字符串
raw_str = " CS121P: Bunyan, John Henry, Matthew Luther, Martin  CS132S: Calvin, John Knox, John Owen, John  CS202H: Calvin, John Knox, John Owen, John "

# 匹配课程编码前的空格,替换为换行符,同时去掉首尾多余空格
result = re.sub(r'\s+(?=[A-Z]{2}\d+[A-Z]:)', r'\n', raw_str.strip())

# 可直接打印或写入文件
print(result)

运行后即可得到每行一门课程的预期输出。


方法2:字符串分割拼接(无需导入依赖,适合固定前缀场景)

如果所有课程编号都固定以CS开头,可以直接用字符串分割实现,逻辑更简单:

# 原输入字符串
raw_str = " CS121P: Bunyan, John Henry, Matthew Luther, Martin  CS132S: Calvin, John Knox, John Owen, John  CS202H: Calvin, John Knox, John Owen, John "

# 先去掉首尾空格,再按分隔符' CS'拆分
processed = raw_str.strip().split(' CS')
# 第一个元素本身就是CS开头,后续元素拼接回CS前缀后用换行连接
result = processed[0] + '\n' + '\n'.join(f'CS{item}' for item in processed[1:])

print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:54:00