将一行字符串转换为字符串列表而不获取换行符

时间:2014-07-06 14:47:24

标签: python string list

我希望给予

input = '1;Go home;Do assignment; go to class'

并获取output = ['1','Go home','Do asssignment','go to class']。使用split我得到\ n并且splitlines也没有提供所需的输出。

4 个答案:

答案 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然后运行拆分。