我在String
中有一封回复消息,我想将其拆分以提取值。
我的String答复消息格式为:
REPLY(MSGID,15,ABC024049364194,SERVICE,10,CREATE,...);
我的要求是从上述字符串格式获取值ABC024049364194
。
我尝试使用此代码,但没有用:
String[] arrOfStr = str.split(",", 5);
for (String a : arrOfStr)
System.out.println(a);
答案 0 :(得分:2)
如果拆分字符串,则只需要访问索引2处的令牌。
// <TYPE>(<ARGUMENTS>)
String message = "REPLY(MSGID,15,ABC024049364194,SERVICE,10,CREATE);";
Matcher m = Pattern.compile("(\\w+)\\((.+)\\)").matcher(message);
if (m.find()) {
String type = m.group(1);
String[] arguments = m.group(2).split(",");
System.out.println(type + " = " + arguments[2]); // REPLY = ABC024049364194
}
答案 1 :(得分:1)
public static void main(String[] args) {
String str = "REPLY(MSGID,15,ABC024049364194,SERVICE,10,CREATE,...)";
String code = str.split(",")[2];
System.out.println(code);
}
如果您的代码始终是2个逗号,将可以正常工作