如何使string.strip()剥离多个字符?



为了运行一个准确的审核系统,我试图删除所有的标点符号。但是,当我使用string.strip()时,它只去掉字符串的结束字符,并将相同字符的其余部分留在字符串的其余部分中。我误解了什么?我能找到的所有资源都说string.strip()是足够的。

相关代码:

async def on_message(message):
stripString = ".!?,'@#$%^&*()"
if message.author == bot.user:
return

message.content = message.content.strip(variables.stripString)

输入:这个。是多少。答:测试。

输出:这个。是多少。测试a .

str.strip

返回字符串的副本,去掉前导和尾随字符。


你需要的是一个替换,使用正则表达式[.!?,'@#$%^&*()]并替换为nothing

import re
stripString = ".!?,'@#$%^&*()"
message = "!This. !Is. A. Test.?@"
print(message.strip(stripString))                    # This. !Is. A. Test
print(re.sub("[" + stripString + "]", "", message))  # This Is A Test

最新更新