字符串.rstrip()正在删除多余的字符

2024-10-03 23:17:40 发布

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

为什么此语句删除'PIPELINE'中的'E'

In: 'PIPELINE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'

但此语句不会删除'S'

^{pr2}$

此语句将删除结尾处的所有E:

In: 'PIPELINEEEEEEEE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'

当我将rstrip转换成两个单独的语句时,它可以正常工作:

In: 'PIPELINE_DEV'.rstrip('DEV').rstrip('_')
Out: 'PIPELINE'

Tags: indevpipeline语句outpr2rstrip结尾处
1条回答
网友
1楼 · 发布于 2024-10-03 23:17:40

rstrip从应用它的字符串中删除所提供字符的任何尾随实例,直到找到不匹配的内容为止。这在its documentation中说明:

The chars argument is not a suffix; rather, all combinations of its values are stripped

使用rstrip('_DEV')它将从字符串中删除_DEV,然后删除所有Es(或'D's或{}s或{}s),因为这些都属于您给定的字符集中(而且没有找到不在该集中的其他字符)。在

当您使用.rstrip('DEV').rstrip('_')时,对rstrip的第一次调用将除去'DEV',然后由于'_'不在字符集'DEV'中而停止。^当第二次调用rstrip时,{}被删除。在

相关问题 更多 >