- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
为什么这条语句会删除 'PIPELINE'
中的 'E'
:
In: 'PIPELINE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'
但是这个语句并没有删除'S'
:
In: 'PIPELINES_DEV'.rstrip('_DEV')
Out: 'PIPELINES'
此语句删除末尾的所有 E:
In: 'PIPELINEEEEEEEE_DEV'.rstrip('_DEV')
Out: 'PIPELIN'
当我将 rstrip 变成 2 个单独的语句时,它工作正常:
In: 'PIPELINE_DEV'.rstrip('DEV').rstrip('_')
Out: 'PIPELINE'
最佳答案
rstrip
从应用它的字符串中删除您提供的字符的任何尾随实例,直到它找到不匹配的内容。这在 its documentation 中说明:
The chars argument is not a suffix; rather, all combinations of its values are stripped
使用 rstrip('_DEV')
它将从字符串中删除 _DEV
,然后删除所有 E
(或 'D '
s 或 'V'
s 或 '_'
s) 因为它们属于您提供的字符集(并且没有其他字符是'已找到该集合中的 t)。
当您使用 .rstrip('DEV').rstrip('_')
时,对 rstrip
的第一次调用会剥离 'DEV'
然后停止,因为 '_'
不在字符集 'DEV'
中。当第二次调用 rstrip
时,'_'
被删除。
请注意,在 Python >= 3.9 中,str.removesuffix
是added为了解决这个普遍的误解。使用 removesuffix
,您可以提供一个已删除的后缀字符串(如果存在)作为应用它的字符串的后缀。
你的例子:
'PIPELINE_DEV'.removesuffix('_DEV')
只会删除 '_DEV'
后缀。
关于python - string.rstrip() 正在删除多余的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46222645/
我的服务层有如下方法 public ModuleResponse GetModules(ModuleRequest request) { var response = new ModuleRe
我构建的工具栏与大多数工具栏一样,minHeight 设置为 actionBarSize: 但是,如果我删除这个属性,就完全没有区别了。工具栏保持其 actionBarSize,即使我删除菜单并将
我已经为 SVG 和剪辑路径苦苦挣扎了一段时间。 我正在尝试创建一个三 Angular 形剪辑路径,它将覆盖照片以给顶部一个“三 Angular 形”边缘。 我试图实现与照片完全相同的效果,但三 An
我有一个带有 2 个索引的 PostgreSQL 表。其中一个索引涵盖了 website_id 和 tweet_id 列,是一个唯一的 B 树索引。第二个索引只覆盖 website_id 列,是一个非
我是一名优秀的程序员,十分优秀!