将 "\r\n" 分隔的字符串拆分成行列表?
我正在使用子进程模块的 communicate 方法读取一些数据。这些数据是一个很长的字符串,里面用 "\r\n" 来分隔。我想把这个字符串分割成一行一行的列表。在 Python 中怎么做呢?
3 个回答
1
s = re.split(r"[~\r\n]+", string_to_split)
这段代码会给你一个字符串的列表,保存在变量s里面。
2
看看字符串方法的文档,特别是里面的分割方法。
54
可以使用字符串的splitlines方法。
根据文档的说明:
str.splitlines([keepends]) 这个方法会返回字符串中的每一行,按照换行符进行分割。 换行符不会包含在返回的列表中,除非你设置keepends为真。
无论你的操作系统是什么,这个方法都能正确处理换行符,比如"\r\n"、"\r"或"\n"。
需要注意的是,如果换行符是"\n\r",也会进行分割,但你会在每行之间得到一个空字符串,因为它会把"\n"当作有效的换行符,把"\r"当作下一行的结束符。例如:
>>> "foo\n\rbar".splitlines()
['foo', '', 'bar']