gpt4 book ai didi

python - 如何在 python 中删除字符串前后的字符?

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:54 25 4
gpt4 key购买 nike

如何从字符串中删除换行回车符的空格和 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 中的最佳实践,因为它可以保护您免受细微错误的侵害,并且(再次)更具可读性

关于python - 如何在 python 中删除字符串前后的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15605849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com