如何在Python中移除字符串右侧的连续"000"序列?
移除字符串右侧连续3个零的解决方案
str.rstrip('000')之所以无效,是因为这个方法的参数是字符集合,它会持续移除字符串右侧所有属于该集合的字符(也就是所有'0'),直到遇到非'0'字符为止,并非只移除固定的3个零序列。
要实现仅移除右侧连续3个零的需求,有两种简单可行的方法:
方法一:正则表达式匹配替换
使用re.sub()匹配字符串末尾的连续三个零,将其替换为空字符串:
import re s = '1010101010100000' result = re.sub(r'000$', '', s) print(result) # 输出: 1010101010100
这里r'000$'的含义是:匹配字符串结尾($)处的连续三个'0',只有完全符合这个模式的部分才会被替换。
方法二:字符串结尾判断+切片
直接检查字符串是否以'000'结尾,若是则截取去掉最后三个字符的子串:
s = '1010101010100000' if s.endswith('000'): result = s[:-3] else: result = s print(result) # 输出: 1010101010100
这种方法不需要引入额外模块,逻辑直观,适合简单场景。
内容的提问来源于stack exchange,提问作者aleyazor
相关产品推荐
相关产品推荐

