技术问询:提取字符串中最后一个数字之后的内容
提取字符串中最后一个数字后的内容
核心思路是通过正则匹配定位到最后一组连续数字的位置,然后提取该位置之后的所有字符。以下是具体实现方案:
正则表达式方案
使用正则表达式 ^\D*\d+(.*)$,通过捕获组直接提取目标内容:
^\D*:匹配字符串开头的任意非数字字符(比如示例中的M)\d+:匹配连续的数字(即最后一组数字)(.*)$:捕获数字之后的所有字符直到字符串结尾
Python 实现
import re def get_content_after_last_digit(input_str): result = re.search(r'^\D*\d+(.*)$', input_str) return result.group(1) if result else input_str # 测试示例 samples = [ "M1234TESTABC", "M34567TESTABC", "M100023459ABC", "M234TEST" ] for s in samples: print(f"{s} → {get_content_after_last_digit(s)}")
运行输出:
M1234TESTABC → TESTABC M34567TESTABC → TESTABC M100023459ABC → ABC M234TEST → TEST
JavaScript 实现
function getContentAfterLastDigit(str) { const match = str.match(/^\D*\d+(.*)$/); return match ? match[1] : str; } // 测试示例 const samples = [ "M1234TESTABC", "M34567TESTABC", "M100023459ABC", "M234TEST" ]; samples.forEach(str => { console.log(`${str} → ${getContentAfterLastDigit(str)}`); });
边界情况处理
如果输入字符串中没有数字,上述函数会返回原字符串,你可以根据需求调整逻辑(比如返回空字符串)。
内容的提问来源于stack exchange,提问作者user2008558
相关产品推荐
相关产品推荐

