如何用Python将末尾带数字的字符串拆分为字符部分和数字部分
Python拆分字符串末尾数字的实现方法
用内置的re正则模块可以快速实现需求,代码简洁高效:
import re string = 'Hello, welcome to my world001' # 拆分得到(字符串部分,末尾数字部分)的元组 text_part, num_part = re.match(r'^(.*?)(\d*)$', string).groups() print(text_part) # 输出:Hello, welcome to my world print(num_part) # 输出:001 # 若需要将数字转为整型,直接使用int(num_part)即可
补充说明
- 正则逻辑说明:
^匹配字符串开头,.*?为非贪婪匹配捕获前缀非数字内容,\d*捕获末尾所有连续数字,$匹配字符串结尾 - 边界情况处理:如果原字符串末尾没有数字,返回的
num_part为空字符串,可根据需求自行处理,比如你原代码中末尾补1的逻辑可以这么写:if not num_part: num_part = '1' full_str = text_part + num_part - 你自行编写的循环逻辑也可以实现功能,但需要额外补充前缀字符串截取的逻辑,相比之下正则方案代码量更少、适配场景更全面。
内容的提问来源于stack exchange,提问作者Sunny Yadav
相关产品推荐
相关产品推荐

