Python切字符串主要用切片语法s[start:end:step]和split()方法:切片按位置截取,支持负索引与越界安全;split()按分隔符拆分为列表,可指定分隔符或默认空白,rsplit()支持从右拆分。

Python里切字符串主要用切片([:])语法,简单直接。
用方括号切片:指定起始、结束和步长
字符串是序列类型,支持索引和切片。格式是 s[start:end:step],不写某项就用默认值(start=0,end=字符串长度,step=1)。
-
s[2:5]:从索引2开始,取到索引5之前(即第3到第5个字符,不含第6个) -
s[:3]:从开头取前3个字符 -
s[4:]:从索引4一直取到末尾 -
s[::-1]:步长为-1,实现反转
按分隔符拆分:用 split()
如果想按空格、逗号、顿号等“断开”字符串成列表,用 split() 更合适。
-
"a,b,c".split(",")→['a', 'b', 'c'] -
"hello world python".split()→ 默认按任意空白拆,结果['hello', 'world', 'python'] -
"a,,b".split(",")→ 会保留空字符串:['a', '', 'b'];若要过滤空项,可加filter(None, ...)或用列表推导式
按固定长度切分
没有内置方法,但可以用列表推导式轻松实现:
立即学习“Python免费学习笔记(深入)”;
-
s = "abcdefgh"; [s[i:i+3] for i in range(0, len(s), 3)]→['abc', 'def', 'gh'] - 注意:最后一段可能不足指定长度,这是正常行为
其他实用技巧
切片不会报错——越界自动截断。比如 s = "hi",s[1:10] 返回 'i',s[5:10] 返回空字符串 '',很安全。
如果要“从右往左”切,除了用负索引(如 s[-3:] 取后3个),也可以结合 rsplit() 拆分,比如只拆最后一次:"a.b.c.d".rsplit(".", 1) → ['a.b.c', 'd']。
基本上就这些。选切片还是 split,关键看你是想“按位置截取”,还是“按内容断开”。











