如何拆分字符串M22,分离字符M与数字22?
拆分字符串"M22"分离字母与数字的简单方法
方案1:固定位置切片(适合已知字母在开头且仅1个的场景)
如果确定字母只有1个且在字符串最开头,直接用切片就能快速拆分:
s = "M22" letter = s[0] # 结果:"M" number_str = s[1:] # 结果:"22" number = int(number_str) # 按需转成整数类型
方案2:正则表达式(通用场景,支持多字母/多数字组合)
用正则匹配连续的字母和数字段,适配更复杂的类似字符串(比如"AB123"、"X45"):
import re s = "M22" # 匹配开头的字母段和后续的数字段 match_result = re.match(r'([A-Za-z]+)(\d+)', s) if match_result: letter_part = match_result.group(1) # "M" number_part = match_result.group(2) # "22"
方案3:遍历字符判断(新手友好,逻辑直观)
逐个检查每个字符的类型,分别收集字母和数字部分,适合理解底层逻辑:
s = "M22" letters = "" numbers = "" for char in s: if char.isalpha(): letters += char elif char.isdigit(): numbers += char # 最终letters为"M",numbers为"22"
内容的提问来源于stack exchange,提问作者Achyut Bhattarai
相关产品推荐
相关产品推荐

