有这么一个字符串trace=ac83aed033d5d732b23bf82809569f99span=54fd9e51bd32dc72 - callLimitCheck requestphoneNo18550719980phoneTypeSELFcallSourceTypeSUPERVISORcustId9682834用java的replaceAll方法结合正则的组引用$符号来将 54fd9e51
可以使用以下代码来提取字符串中的 "54fd9e51bd32dc72":
String input = "[trace=ac83aed033d5d732b23bf82809569f99,span=54fd9e51bd32dc72] - callLimitCheck request:{\"phoneNo\":\"18550719980\",\"phoneType\":\"SELF\",\"callSourceType\":\"SUPERVISOR\",\"custId\":9682834}";
String pattern = "\\[trace=ac83aed033d5d732b23bf82809569f99,span=(.*?)\\]";
String extractedString = input.replaceAll(pattern, "$1");
System.out.println(extractedString);
输出结果为:54fd9e51bd32dc72
在上述代码中,使用正则表达式 \\[trace=ac83aed033d5d732b23bf82809569f99,span=(.*?)\\] 匹配整个方括号内的内容,并使用组引用 $1 提取出括号内的内容。然后使用 replaceAll 方法将匹配到的内容替换为空字符串,从而得到提取出的字符串
原文地址: http://www.cveoy.top/t/topic/iT3B 著作权归作者所有。请勿转载和采集!