如何在Python中去除字符串末尾的空格?

142
我需要在字符串中单词后面删除空格。能否用一行代码完成?
示例:
string = "    xyz     "

desired result : "    xyz" 

20
是的,因为即使那些阅读过文档的人可能也没有意识到它可能存在,因为这是一项基本功能,他们可能在前几次阅读时已经忽略了它,并且将其记为说了与此无关的内容。此外,在文档中使用 rstrip 并不容易在搜索“python strip end of string”(Python 去除字符串末尾空格)的 Google 搜索结果中找到解决方法。 - Brōtsyorfuzthrāx
7
真的很冷 @GregK 真的很冷 - deepelement
4
这也加剧了Stack Overflow越来越普遍的不友好特征。 - shaw2thefloor
1
是的,这个问题必须被问到。我在谷歌上搜索了如何做,最终来到了这里。我并没有立即开始搜索Python库。如果我们只是问谷歌/必应等搜索引擎,那么我们就停止了作为人类之间的交流。 - datagod
2个回答

237
>>> "    xyz     ".rstrip()
'    xyz'

有关于rstrip的更多信息,请参阅文档


18
你可以使用strip()或split()来控制空格值,如下所示, 这里是一些测试函数:
words = "   test     words    "

# Remove end spaces
def remove_end_spaces(string):
    return "".join(string.rstrip())

# Remove first and  end spaces
def remove_first_end_spaces(string):
    return "".join(string.rstrip().lstrip())

# Remove all spaces
def remove_all_spaces(string):
    return "".join(string.split())

# Remove all extra spaces
def remove_all_extra_spaces(string):
    return " ".join(string.split())

# Show results
print(f'"{words}"')
print(f'"{remove_end_spaces(words)}"')
print(f'"{remove_first_end_spaces(words)}"')
print(f'"{remove_all_spaces(words)}"')
print(f'"{remove_all_extra_spaces(words)}"')

输出:

"   test     words    "

"   test     words"

"test     words"

"testwords"

"test words"

希望这有所帮助。


5
жңүдёҖдёӘзү№е®ҡзҡ„еҮҪж•°strip()еҸҜд»ҘеҗҢж—¶е®ҢжҲҗrstrip()е’Ңlstrip()зҡ„еҠҹиғҪпјҢеӣ жӯӨеңЁдҪҝз”Ёж—¶ж— йңҖеҲҶеҲ«дҪҝз”ЁиҝҷдёӨдёӘеҮҪж•°гҖӮиҜ·жіЁж„ҸпјҢзҝ»иҜ‘з»“жһңж—ЁеңЁдҝқжҢҒеҺҹж„ҸпјҢжӣҙжҳ“дәҺзҗҶи§ЈпјҢдёҚеҢ…еҗ«и§ЈйҮҠжҲ–е…¶д»–дҝЎжҒҜгҖӮ - autonopy
2
哦,我看到你拒绝了我的修改然后自己编辑了它。看来“此次编辑破坏了帖子以促进产品或服务,或者是故意破坏性的”并不是真的。 - autonopy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接