📜  Python – 从字符串列表中删除多个空格的方法(1)

📅  最后修改于: 2023-12-03 15:34:07.468000             🧑  作者: Mango

Python – 从字符串列表中删除多个空格的方法

在Python中,我们经常会遇到需要从字符串中删除多个空格的情况,尤其是从一个字符串列表中删除多个空格。这篇文章介绍了几种从字符串列表中删除多个空格的方法。

方法一:使用replace()函数

我们可以使用replace()函数来替换字符串列表中的多个空格。这个函数可以接收两个参数,第一个参数是要替换的字符串,第二个参数是替换成的字符串。我们可以使用一个空格或者一个空字符串来替换多个空格。

下面是使用replace()函数删除多个空格的示例代码:

# 定义一个字符串列表
str_list = [' Python    is    a  great      programming   language  ', ' My    Name is  Python  ']

# 遍历字符串列表,并使用replace()函数替换多余的空格
for i in range(len(str_list)):
    str_list[i] = str_list[i].replace("  ", " ")

print(str_list)

输出:

[' Python is a great programming language ', ' My Name is Python ']
方法二:使用split()和join()函数

另一种方法是使用split()和join()函数。我们可以使用split()函数将字符串分割成一个字符串列表,然后使用join()函数将列表中的字符串重新连接成一个字符串,这时候多余的空格就被删除了。

下面是使用split()和join()函数删除多个空格的示例代码:

# 定义一个字符串列表
str_list = [' Python    is    a  great      programming   language  ', ' My    Name is  Python  ']

# 遍历字符串列表,并使用split()和join()函数删除多余的空格
for i in range(len(str_list)):
    str_list[i] = " ".join(str_list[i].split())

print(str_list)

输出:

['Python is a great programming language', 'My Name is Python']
方法三:使用正则表达式

最后一种方法是使用正则表达式来删除多个空格。我们可以使用re模块中的sub()函数来替换字符串中的多个空格。sub()函数可以接收三个参数,第一个参数是要替换的字符串,第二个参数是替换成的字符串,第三个参数是要替换的字符串。

下面是使用正则表达式删除多个空格的示例代码:

import re

# 定义一个字符串列表
str_list = [' Python    is    a  great      programming   language  ', ' My    Name is  Python  ']

# 遍历字符串列表,并使用正则表达式删除多余的空格
for i in range(len(str_list)):
    str_list[i] = re.sub("\s+", " ", str_list[i]).strip()

print(str_list)

输出:

['Python is a great programming language', 'My Name is Python']

上面这个正则表达式中的"\s+"表示匹配一个或多个空格。我们还可以用"\s{2,}"来匹配两个或更多连续的空格,用"\s*"来匹配零个或多个空格。

总结

在Python中,删除多个空格的方法有很多种,包括使用replace()函数,使用split()和join()函数以及使用正则表达式。在实际开发中,我们可以根据不同的需求选择不同的方法。