在 Python 中用“\r\n”分割字符串

在 Python 中用“\r\n”拆分字符串

Split a string by “\r\n” in Python

使用该str.splitlines()方法将字符串拆分为\r\n,例如
my_list = my_str.splitlines()splitlines方法在每个换行符处拆分字符串并返回字符串中的行列表。

主程序
my_str = 'one\r\ntwo\r\nthree' result = my_str.splitlines() print(result) # 👉️ ['one', 'two', 'three']

str.splitlines
方法在换行符

拆分字符串并返回包含字符串中的行的列表。

该方法不包括换行符,除非keepends参数设置为True

主程序
my_str = 'one\r\ntwo\r\nthree' result = my_str.splitlines() print(result) # 👉️ ['one', 'two', 'three'] # 👇️ ['one\r\n', 'two\r\n', 'three'] print(my_str.splitlines(True))

str.splitlines方法在各种线边界上拆分,例如\n\r
\r\n等。

主程序
my_str = 'one\rtwo\r\nthree\n' result = my_str.splitlines() print(result) # 👉️ ['one', 'two', 'three']

如果字符串以换行符结尾,则该splitlines()方法将其删除,而不是str.split()方法。

主程序
my_str = 'one\r\ntwo\r\nthree\r\n' result = my_str.splitlines() print(result) # 👉️ ['one', 'two', 'three'] # # 👇️ ['one', 'two', 'three', ''] print(my_str.split('\r\n'))

如果文本和换行符之间有空格,请使用
str.strip()方法将其删除。

主程序
my_str = 'one \r\ntwo \r\nthree \r\n' my_list = [line.strip() for line in my_str.splitlines()] print(my_list) # 👉️ ['one', 'two', 'three']

我们使用了列表理解。列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

在每次迭代中,我们调用该str.strip()方法从字符串中去除任何前导和尾随空格。

如果您在结果中得到空字符串并想过滤掉它们,请使用该
filter()函数。

主程序
my_str = '\r\none\r\ntwo\r\nthree\r\n' my_list = list(filter(None, my_str.splitlines())) print(my_list) # 👉️ ['one', 'two', 'three']

filter函数接受一个函数和一个可迭代对象作为参数,并从可迭代对象的元素构造一个迭代器,函数返回一个真值。

如果您传递None函数参数,则 iterable 的所有虚假元素都将被删除。

所有不真实的值都被认为是虚假的。Python 中的虚假值是:

  • 定义为 falsy 的常量:NoneFalse.
  • 0任何数字类型的(零)
  • 空序列和集合:(""空字符串),()(空元组),[]
    (空列表),
    {}(空字典),set()(空集),range(0)(空范围)。

请注意,该filter()函数返回一个过滤器对象(不是列表)。如果需要将对象转换为列表,请将其传递给list()类。

发表评论