最常用、最简洁的方法是用切片 str[-n:];支持负索引,安全截取(不足n位返回全长),如 "hello"[-2:] 得 "lo";需补零用 zfill(n)[-n:],补空格用 rjust(n)[-n:],严格要求长度则加判断。

Python 截取字符串后几位,最常用、最简洁的方法是用切片(str[-n:])。
用负索引切片获取末尾 n 个字符
Python 字符串支持负索引,-1 表示最后一个字符,-2 表示倒数第二个……所以 str[-n:] 就是从倒数第 n 个位置一直取到末尾。
- 注意:如果字符串长度小于 n,不会报错,而是返回整个字符串(即安全截取)。
- 例如:
s = "hello",s[-2:]→"lo";s[-10:]→"hello"。
先判断长度再截取(需要严格保证位数时)
如果你希望“不足 n 位就补空格/零/或其他默认值”,或必须返回恰好 n 位(不够则报错或跳过),就得加判断:
- 补空格:
s.rjust(n)[-n:]或(s + " " * n)[-n:] - 补零(数字字符串常用):
s.zfill(n)[-n:](注意 zfill 会在左边补零) - 严格只取后 n 位、不足则跳过:
s[-n:] if len(s) >= n else None
用 str[-n:] 是最推荐的写法
日常使用中,绝大多数场景只需安全获取末尾若干字符,直接写 s[-3:]、s[-5:] 即可,清晰、高效、不易出错。
立即学习“Python免费学习笔记(深入)”;
不需要导入模块,不依赖正则,也不用写循环 —— 切片就是为这种操作设计的。
基本上就这些。











