Java提取特定标识后的子串:从给定字符串提取目标内容求助
提取指定关键词后的子串解决方案
方法一:正则表达式(推荐,适配格式小变动)
利用正则捕获组可以精准匹配NUMBER和DATE后的目标内容,无需依赖固定字符串长度:
JavaScript 示例
const str = "CLAIM NUMBER 1234563 AND INCIDENT DATE 12/12/2020 12:00:00"; const regex = /NUMBER (\d+) AND INCIDENT DATE (.+)/; const matchResult = str.match(regex); const claimNumber = matchResult[1]; // 结果:"1234563" const incidentDate = matchResult[2]; // 结果:"12/12/2020 12:00:00"
Python 示例
import re target_str = "CLAIM NUMBER 1234563 AND INCIDENT DATE 12/12/2020 12:00:00" match_obj = re.search(r'NUMBER (\d+) AND INCIDENT DATE (.+)', target_str) claim_number = match_obj.group(1) # 结果:"1234563" incident_date = match_obj.group(2) # 结果:"12/12/2020 12:00:00"
方法二:字符串索引截取(修正你之前的操作)
如果坚持用substring和index,需要准确找到关键词的结束位置及目标内容的边界,同时去除多余空格:
JavaScript 示例
const str = "CLAIM NUMBER 1234563 AND INCIDENT DATE 12/12/2020 12:00:00"; // 提取CLAIM NUMBER后的编号 const numStart = str.indexOf("NUMBER") + "NUMBER".length; const numEnd = str.indexOf(" AND"); const claimNumber = str.substring(numStart, numEnd).trim(); // 提取INCIDENT DATE后的日期时间 const dateStart = str.indexOf("DATE") + "DATE".length; const incidentDate = str.substring(dateStart).trim();
这种方式要求字符串格式固定,若AND或其他分隔符有变动则需要调整索引位置。
内容的提问来源于stack exchange,提问作者SEETHARAMU G N
相关产品推荐
相关产品推荐

