📅  最后修改于: 2023-12-03 15:19:32.069000             🧑  作者: Mango
在文本处理中,我们有时需要删除连续的空格,使文本更规范。Python提供了多种方法来实现去除字符串中的连续空格。
我们可以使用re.sub()函数,使用正则表达式把字符串中的连续空格替换为一个空格。
import re
origin_str = " This string has multiple spaces "
new_str = re.sub(r'\s+', ' ', origin_str).strip()
print(new_str) # This string has multiple spaces
以上代码中,我们使用re.sub()函数将origin_str中的多个空格替换成一个空格,并使用strip()方法去掉首尾空格。
另一种方法是使用split()函数,将字符串按照空格分割成列表,然后再将列表中的空字符串去掉,并将列表中的元素用空格连接成字符串。
origin_str = " This string has multiple spaces "
new_str = " ".join(filter(None, origin_str.split()))
print(new_str) # This string has multiple spaces
以上代码中,我们使用split()函数将origin_str按照空格分割成列表,然后使用filter()函数过滤列表中的空字符串,最后使用join()函数将列表中的元素用空格连接成字符串。
还可以使用split()函数和join()函数组合起来实现去除字符串中的连续空格。
origin_str = " This string has multiple spaces "
new_str = " ".join(origin_str.split())
print(new_str) # This string has multiple spaces
以上代码中,我们先使用split()函数将origin_str按照空格分割成列表,然后使用join()函数将列表中的元素用空格连接成字符串。
以上三种方法可以实现去除字符串中的连续空格,具体使用哪种方法,取决于实际需求和个人喜好。
当然,还有其他方法可以实现字符串中的空格去除,这里只是提供了三种常用的方法。