如何从字符串中删除换行符回车的空格和条?我试过了:
a = []
for i in range(len(lines)):
a.append(lines[i].rstrip().lstrip('\n'))
lines 是使用 readlines() 函数创建的行列表。
如何从字符串中删除换行符回车的空格和条?我试过了:
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")
从左边找不到换行符,所以什么也不做,因此你的问题。
如果您需要在换行符之外留下尾随空格,那么您会想要line.rstrip("\n").lstrip()
- 从原始代码中交换左右条带的参数。这将确保除了换行符之外没有空格被剥离,就像上面的代码一样。
请注意,我使用列表推导来执行此操作 - 它更具可读性和效率,并且是执行此类任务的好方法。
我还直接在文件对象上循环,因为这样更有效(不必将行加载到内存中)。请注意我使用with 语句打开文件 - 这是 Python 中的最佳实践,因为它可以保护您免受细微错误的影响,并且(再次)更具可读性
a = [line.strip() for line in lines]
我认为在放入行列表之前最好先剥离