如何从字符串中删除换行回车符的空格和 strip ?我试过:
a = []
for i in range(len(lines)):
a.append(lines[i].rstrip().lstrip('\n'))
lines 是使用 readlines() 函数创建的行列表。
请您参考如下方法:
str.strip()删除字符串两边的所有空格,所以最简单的方法就是:
with open("source.txt") as file:
a = [line.strip() for line in file]
您的代码的问题是您正在使用 str.lstrip()和 str.rstrip()错误的方式——换行符在右边,但你试图从左边去掉它。换行符被去除,因为 str.rstrip() 从右边去除所有空格(包括换行符),而 str.lstrip("\n") 没有找到换行符从左边开始的字符,所以什么都不做,因此你的问题。
如果您需要在换行符 except 中保留尾随空格,那么您需要 line.rstrip("\n").lstrip() - 将参数交换为原始代码中的左右 strip 。这将确保除换行符外没有空格被删除,就像上面的代码一样。
请注意,我使用了 list comprehension这样做 - 它更具可读性和效率,是完成此类任务的好方法。
我还直接在文件对象上循环,因为这样效率更高(行不必加载到内存中)。注意我对 the with statement 的使用打开文件 - 这是 Python 中的最佳实践,因为它可以保护您免受细微错误的侵害,并且(再次)更具可读性
