我有显示类(class)编号、名称、等级和学生所修类(class)的其他信息的文本。具体来说,这些行看起来像这样:
0301 453 20071 LINEAR SYSTEMS I A 4 4 16.0
0301 481 20071 ELECTRONICS I WITH LAB A 4 4 16.0
0301 481 20084 ELECTRONICS II WITH LAB RE B 4 4 12.0
0301 713 20091 SOLID STATE PHYSICS NG 0 0 0.0
0511 454 20074 INT'L TRADE & FINANCE B 4 4 12.0
我想写一个正则表达式来提取:
LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB
SOLID STATE PHYSICS
INT'L TRADE & FINANCE
我写了以下内容
pattCourseName = re.compile(r'([-/&A-Z\':\s]{2,})(\s+[A-Z])')
但是,这给了我
LINEAR SYSTEMS I
ELECTRONICS I WITH LAB
ELECTRONICS II WITH LAB RE
SOLID STATE PHYSICS
INT'L TRADE & FINANCE
也就是说,我无法摆脱 RE 部分。
有人可以帮忙吗?谢谢!
最佳答案
如果布局如您显示的那样固定,则忘记正则表达式,只抓取您想要的列:
course_name = line[16:45].strip()
关于python re 模块 - 用于提取文本片段的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006798/