VibeCodingAI围壁扣顶,学习Python从实践到慢慢入门,筑起你的Python知识大厦!知识就是力量,知识改变命运;科技就是生产力,AI就是即战力!
知道程序员为什么叫作码农吗?因为学习写代码就好像种田一样,都是从实践到慢慢入门的一个过程。来吧,跟我一起学习Python从实践到慢慢入门吧!
一、先记住:Python 提取子串的 5 种方法
1.切片 s[start:end](最常用)
2.split () 分割(按符号拆分)
3.partition () 分区(取分隔符前后)
4.find () + 切片(按关键字定位截取)
5.startswith () /endswith ()
6.正则 re(复杂格式提取,最强)
方法 1.[start:end]是最常见、最基础的切片形式
1️⃣ [start:end]用于从序列中截取一段(左闭右开)
lst = [0, 1, 2, 3, 4]lst[1:4] # [1, 2, 3]
常见用法:
s[:5] # 前 5 个s[5:] # 从第 5 个到末尾s[:] # 复制整个序列
2️⃣ 更完整的切片形式是 [start:end:step]
lst[::2] # 每隔一个取一个lst[::-1] # 反转序列lst[5:1:-1] # 反向切片
3️⃣ Python 内部真正用的是 slice对象
lst[1:5] # 等价于lst[slice(1, 5)]
方法 2:split () —— 按符号拆分字符串
最常用!比如按 空格、横线、点、斜杠 拆分。
s = "2025-003"parts = s.split("-") # 按 "-" 切成列表print(parts[0]) # 2025print(parts[1]) # 003
适用场景:
日期 2025-12-31
编号 A001.B02
路径 folder/file.txt
方法 3:partition () —— 分成 前、分隔符、后 三部分
专门用来取某个符号左边 or 右边内容。
s = "abc123def"before, sep, after = s.partition("123")print(before) # abcprint(after) # def
比 split 更稳定,只会分成三段。
方法 4:find () /index () + 切片 —— 先找位置,再截取
想提取 某个关键词后面的内容 用这个。
s = "订单号:2025001"pos = s.find(":") # 找到冒号的位置result = s[pos+1:] # 从冒号后一位截取到最后print(result) # 2025001
方法 5:startswith () /endswith () —— 按开头 / 结尾判断
不是直接截取,但配合切片用非常方便。
s = "NO2025003"if s.startswith("NO"): num = s[2:] # 从第2位开始取 print(num) # 2025003
s = "test.txt"if s.endswith(".txt"): name = s[:-4] print(name) # test
方法 6:正则表达式 re —— 最强提取(复杂格式)
适合:
提取所有数字
提取年份
提取邮箱、手机号
提取不规则字符串
import res = "年份2025,序号003"year = re.findall(r"\d+", s)[0] # 提取所有数字 → 2025print(year)
二、快速总结(记这张表就够)
方法 | 用途 | 例子 |
切片 s[:4] | 固定位置截取 | 取前 4 位 |
split() | 按符号拆分 | "2025-003" → ["2025","003"] |
partition() | 取分隔符前后 | "a123b" → a 和 b |
find ()+ 切片 | 找到 “:” 后面内容 | 找到 “:” 后面内容 |
正则 re | 复杂提取 | 提取数字、邮箱、日期 |
所谓千里之行始于足下: 不积跬步,无以至千里。不积小流,无以成江海。骐骥一跃,不能十步。驽马十驾,功在不舍。锲而舍之,朽木不折。锲而不舍,金石可镂。每天进步一点点,成功离我更近一点!
若文章对你有所帮助,请点击右上角
或
分享, 让你朋友因此而受益!真诚感谢你的关注和推荐!
欢迎交流,有任何问题欢迎留言讨论
AI已经让我们可以直通知识海洋的入口了,一起努力学习吧,解锁自己潜藏的能力!
平时灌溉,才有期待,运气一来,花自盛开!
【特别声明】本公号转载、引用的所有文章、图片、音频、视频文件等资料的版权归版权所有人所有,转载目的在于传递、分享信息给更多人。如果所选内容的作者认为其作品不宜供大家浏览,或不应无偿使用,请及时与我联系,以便迅速采取适当措施,避免给双方造成不必要的损失。