Skip to main content
 首页 » 编程设计

python之替换列表元素中的空格

2025年05月04日14exmyth

我有一个标签列表:

>>> tags_list 
['tag1', 'second tag', 'third longer tag'] 

如何用“+”替换列表中每个元素中的空格?我试图用正则表达式来做到这一点,但每个字符串都保持不变:

for tag in tags_list: 
    re.sub("\s+" , " ", tag) 

我的方法有什么问题?

编辑:

是的,我忘了提,在每个标签的单词之间我们可以有多个空格,而且标签可以以空格开头或结尾,因为它们是用 split(",") 从逗号分隔的字符串解析而来的: (“第一个标签,第二个标签,第三个标签”)。抱歉不够精确。

请您参考如下方法:

re.sub()返回一个新字符串,它不会就地修改其参数。

你可能想要:

tags_list = [re.sub(r"\s+", "+", tag) for tag in tags_list] 

此外,不要忘记正则表达式之前的 r,否则您必须将其中的所有反斜杠加倍(即您发布的正则表达式将不起作用)。

编辑:我假设用“+”替换列表中每个元素中的空格意味着将所有连续的空格折叠成一个+字符.如果不是,请使用 r"\s" 而不是 r"\s+"。