python中rstrip()为什么剔除过多?
r=re.findall("_[\d]*.mp4","161852_2_4.mp4")a=r[0].rstrip(".mp4")
>>> a
'_'
我是想“_4.mp4”进行rstrip('.mp4')后得到"_4",为什么结果是"_"而不是"_4"?
明白了,strip是取出后面所有的字符,直到遇到不是其中的一个字符为止
回答:
rstrip
不是移除 .mp4
字符串,而是移除后面的所有字符,.
、m
、p
、4
,所以 4 也移除了。
你可以使用 removesuffix
。
>>> "_4.mp4".rstrip('.mp4')'_'
>>> "_4.mp4".removesuffix('.mp4')
'_4'
参考资料:
- https://docs.python.org/3/lib...
- https://docs.python.org/3/lib...
回答:
因为这样是把末尾所有 .
, m
, p
, 4
这些字符去掉
可以这样写,不知道有没有更简单的方法
a[:-4] if a.endswith(".mp4") else a
以上是 python中rstrip()为什么剔除过多? 的全部内容, 来源链接: utcz.com/p/938388.html