Python 在模式之间拆分字符串

Python 在模式之间拆分字符串,python,regex,Python,Regex,我有一个字符串: a="\r\nOk\r\n\r\nThanks\r\n" I want to split string so i will get: array[0]="Ok" array[1]="Thanks" 我所尝试的: array=re.split('\r\n',a) 这导致了一个复杂的列表 有什么想法吗 a = "\r\nOk\r\n\r\nThanks\r\n" array = a.split("\r\n") array = [item for item in array

我有一个字符串:

a="\r\nOk\r\n\r\nThanks\r\n"

I want to split string so i will get:

array[0]="Ok"
array[1]="Thanks"
我所尝试的:

array=re.split('\r\n',a)
这导致了一个复杂的列表

有什么想法吗

a = "\r\nOk\r\n\r\nThanks\r\n"
array = a.split("\r\n")
array = [item for item in array if item]

更新:Kasra给出的上述答案更简单,因此更可取。

使用
分隔表达式中的分隔符,并在执行时过滤掉空字符串:

>>> [s for s in re.split(r'\r|\n', a) if s]
['Ok', 'Thanks']

这里有一个简单的方法。不需要提及任何数量的
\n\r
或任何
空格来剥离字符串。这些将自动剥离

>>> a="\r\nOk\r\n\r\nThanks\r\n"
>>> a.strip().split()
['Ok', 'Thanks']

您不需要
regex
只需使用
str.split()

:
如果未指定sep或sep
None
则连续空格的运行将被视为单个分隔符,如果字符串具有前导或尾随空格,则结果的开头或结尾将不包含空字符串。因此,拆分一个空字符串或一个仅包含空格且带有无分隔符的字符串将返回[]

这到底是怎么回事
[如果项为数组中的项]
?它将遍历数组中的所有项,并创建一个新数组,其中只包含不等于“”的项。
a.split()
仅此而已needed@PadraicCunningham没错。卡斯拉给出了答案,我投了赞成票。另外,还有一个问题是便携性。谢谢大家!所有的答案都有用!
>>> a="\r\nOk\r\n\r\nThanks\r\n"
>>> a.split()
['Ok', 'Thanks']