我希望给予
input = '1;Go home;Do assignment; go to class'
并获取output = ['1','Go home','Do asssignment','go to class']
。使用split我得到\ n并且splitlines也没有提供所需的输出。
答案 0 :(得分:5)
您希望split
;
和strip
空格从结果字符串的开头和结尾开始。 strip
也会删除尾随的换行符,如果有的话。
>>> inp = '1;Go home;Do assignment; go to class'
>>> [x.strip() for x in inp.split(';')]
['1', 'Go home', 'Do assignment', 'go to class']
另外,请勿使用input
作为变量名称,它是内置的。
答案 1 :(得分:2)
问题是换行符,而不是拆分,您可以使用strip()
:
string = '1;Go home;Do assignment; go to class\n'
print string.strip().split(';')
如果输入与示例中的空格不一致(某些分号可能后跟空格:" 转到课程"),您可以这样做:
import re
string = '1;Go home;Do assignment; go to class\n'
print re.split(r';\s*', string.strip())
答案 2 :(得分:0)
我知道你说你试过分裂,但是当我使用它时:
myInput = '1;Go home;Do assignment; go to class'
myInput.split(";")
我将此作为输出:
['1', 'Go home', 'Do assignment', ' go to class']
答案 3 :(得分:0)
您可以在输入字符串上调用rstrip以删除尾随\ n然后运行拆分。