有这么一个字符串trace=ac83aed033d5d732b23bf82809569f99span=54fd9e51bd32dc72 - callLimitCheck requestphoneNo18550719980phoneTypeSELFcallSourceTypeSUPERVISORcustId9682834用java的replaceAll方法结合正则的组引用$符号来将ac83aed03
可以使用Java的正则表达式和replaceAll()方法结合来提取字符串中的指定内容。以下是一个示例代码实现:
public class Main {
public static void main(String[] args) {
String input = "[trace=ac83aed033d5d732b23bf82809569f99,span=54fd9e51bd32dc72] - callLimitCheck request:{\"phoneNo\":\"18550719980\",\"phoneType\":\"SELF\",\"callSourceType\":\"SUPERVISOR\",\"custId\":9682834}";
String trace = input.replaceAll(".*trace=([a-f0-9]+).*", "$1");
String span = input.replaceAll(".*span=([a-f0-9]+).*", "$1");
System.out.println("trace: " + trace);
System.out.println("span: " + span);
}
}
输出结果:
trace: ac83aed033d5d732b23bf82809569f99
span: 54fd9e51bd32dc72
在这个示例中,我们使用正则表达式.*trace=([a-f0-9]+).*来匹配字符串中的trace部分,其中([a-f0-9]+)是一个正则表达式的组,表示匹配一个或多个小写字母或数字。然后,通过$1来引用第一个组的匹配结果。
同样地,我们使用正则表达式.*span=([a-f0-9]+).*来匹配字符串中的span部分,然后通过$1来引用第一个组的匹配结果。
这样就可以将ac83aed033d5d732b23bf82809569f99和54fd9e51bd32dc72分别提取出来
原文地址: http://www.cveoy.top/t/topic/iUrq 著作权归作者所有。请勿转载和采集!