使用Java拆分获取值

时间:2019-02-11 15:27:23

标签: java

我在String中有一封回复消息,我想将其拆分以提取值。

我的String答复消息格式为:

REPLY(MSGID,15,ABC024049364194,SERVICE,10,CREATE,...);

我的要求是从上述字符串格式获取值ABC024049364194

我尝试使用此代码,但没有用:

String[] arrOfStr = str.split(",", 5); 

for (String a : arrOfStr) 
    System.out.println(a);

2 个答案:

答案 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个逗号,将可以正常工作