我想转过来这样的
CS 240, CS 246, ECE 222, ... (more or less); Software Engineering students only
到
('CS 240', 'CS 246', 'ECE 222', 'ECE 220')
在Python中,与单个课程匹配的代码类似于
>>> re.search('([A-Z]{2,5} \d{3})', 'SE 112').groups()
('SE 112',)
我更喜欢只使用正则表达式的方法,因为我有一堆其他的替代reg exps使用'|'结合它们。但是,分割方法是可以接受的。
答案 0 :(得分:5)
>>> a="CS 240, CS 246, ECE 222"
>>> b=tuple(a.strip() for a in a.split(','))
>>> b
('CS 240', 'CS 246', 'ECE 222')
>>>
答案 1 :(得分:3)
csv
标准库模块(http://docs.python.org/library/csv.html)不是您要找的?
答案 2 :(得分:0)
此方法使用正则表达式并匹配您的输入:
>>> import re
>>> re.findall("\w+\s\d+", "CS 240, CS 246, ECE 222")
['CS 240', 'CS 246', 'ECE 222']
它不会查找逗号。相反,它会查找任何但逗号:它首先匹配多个单词字符,然后是空格字符,然后是多个数字。 Findall查找此模式的所有实例。