奇怪的Python strip()行为

2024-06-08 18:55:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白strip()函数为什么会返回下面的方式。我想去掉最后一次出现的Axyx。我用rstrip('Axyx')解决了这个问题,但是下面的解释是什么呢?在

>>>"Abcd Efgh Axyx".strip('Axyx')
'bcd Efgh '

Tags: 函数方式stripabcdefghrstripbcdaxyx
2条回答

传递给strip的字符串被视为一组字符,而不是字符串。因此,strip('Axyx')表示“从字符串的任一端剥离出现的Ax,或{}”。在

如果你真的想去掉前缀或后缀,你必须自己编写逻辑。例如:

s = 'Abcd Efgh Axyx'
if s.endswith('Axyx'):
    s = s[:-len('Axyx')]

因为strip()返回您提供的字符串的副本,而不包含作为输入的字符。
例如: “12345”.strip('123')返回:'45'。
因此,strip()不会删除单词或其他内容,而是删除作为输入的字符串所包含的所有字符,包括要去除的字符串的结尾和开头。在

相关问题 更多 >