r=re.findall("_[\d]*.mp4","161852_2_4.mp4")
a=r[0].rstrip(".mp4")
>>> a
'_'
我是想“_4.mp4”进行rstrip('.mp4')后得到"_4",为什么结果是"_"而不是"_4"?
明白了,strip是取出后面所有的字符,直到遇到不是其中的一个字符为止
r=re.findall("_[\d]*.mp4","161852_2_4.mp4")
a=r[0].rstrip(".mp4")
>>> a
'_'
我是想“_4.mp4”进行rstrip('.mp4')后得到"_4",为什么结果是"_"而不是"_4"?
明白了,strip是取出后面所有的字符,直到遇到不是其中的一个字符为止
因为这样是把末尾所有 .
, m
, p
, 4
这些字符去掉
可以这样写,不知道有没有更简单的方法
a[:-4] if a.endswith(".mp4") else a
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
rstrip
不是移除.mp4
字符串,而是移除后面的所有字符,.
、m
、p
、4
,所以 4 也移除了。你可以使用
removesuffix
。参考资料: