gpt4 book ai didi

python - 仅当它是最后一个字符时如何去除标点符号

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

我知道我可以使用 .translate(None, string.punctuation) 从字符串中去除标点符号。但是,我想知道是否有一种方法可以仅在标点符号是最后一个字符时去除它。

例如:但是,只去掉最后的标点符号。 -> 但是,只去掉最后的标点符号

这是第一句话。这是第二句! -> 这是第一句。这是第二句

and 这句话有三个感叹号!!! -> 这句话有三个感叹号

我知道我可以编写一个 while 循环来执行此操作,但我想知道是否有更优雅/更有效的方法。

最佳答案

您可以简单地使用 rstrip :

str.rstrip([chars])

Return a copy of the string with trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a suffix; rather, all combinations of its values are stripped:

>>> import string

>>> s = 'This sentence has three exclamation marks!!!'
>>> s.rstrip(string.punctuation)
'This sentence has three exclamation marks'

>>> s = 'This is sentence one. This is sentence two!'
>>> s.rstrip(string.punctuation)
'This is sentence one. This is sentence two'

>>> s = 'However, only strip the final punctuation.'
>>> s.rstrip(string.punctuation)
'However, only strip the final punctuation'

关于python - 仅当它是最后一个字符时如何去除标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46504753/

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