将由“\ r \ n”分隔的字符串拆分为行列表?

时间:2010-07-27 15:09:04

标签: python string

我正在从子进程模块的通信方法中读取一些数据。它以“\ r \ n”分隔的大字符串形式出现。我想把它拆分成一个行列表。这是如何在python中执行的?

3 个答案:

答案 0 :(得分:42)

在字符串上使用splitlines方法。

来自文档:

  

<强> str.splitlines([keepends])       返回字符串中的行列表,在行边界处断开。   换行符不包括在内   结果列表,除非keepends是   给予和真实。

无论操作系统如何,无论行结尾是“\ r \ n”,“\ r”还是“\ n”,这都是正确的。

注意,“\ n \ r \ n”的行结尾也会分割,但每行之间会得到一个空字符串,因为它会将“\ n”视为有效行结尾,将“\ r”视为结尾下一行。 e.g。

>>> "foo\n\rbar".splitlines()
['foo', '', 'bar']

答案 1 :(得分:2)

查看字符串方法的doc。特别是拆分方法。

http://docs.python.org/library/stdtypes.html#string-methods

答案 2 :(得分:1)

s = re.split(r"[~\r\n]+", string_to_split)

这将为您提供s中的字符串列表。