我正在从子进程模块的通信方法中读取一些数据。它以“\ r \ n”分隔的大字符串形式出现。我想把它拆分成一个行列表。这是如何在python中执行的?
答案 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。特别是拆分方法。
答案 2 :(得分:1)
s = re.split(r"[~\r\n]+", string_to_split)
这将为您提供s中的字符串列表。