我有一个类似的字符串:
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
我需要在阵列中获取数字之间的数字。任何人都可以帮助我吗?
答案 0 :(得分:4)
伪代码:
String replace '[' with ''
String replace ']' with ''
String split at ' '
答案 1 :(得分:1)
您可以使用简单的正则表达式查找所有数字:
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
Matcher matcher = Pattern.compile("[0-9]+").matcher(msg);
while (matcher.find()) {
System.out.println(matcher.group());
}
如果解析括号中的数字并且不解析字符串中的所有数字非常重要,那么您可以使用此变体:
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
Matcher m = Pattern.compile("\\[([0-9]+)\\]").matcher(msg);
while (m.find()) {
System.out.println(m.group(1));
}
在这两种情况下,输出都是相同的:
05
06
07
08
09
10
11
12
13
14
15
16
答案 2 :(得分:0)
你也可以使用String Tokenizer:
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
StringTokenizer st = new StringTokenizer(msg, "[,], ");
while(st.hasMoreTokens()){
System.out.println("Token: "+ st.nextToken());
}
输出:
Token: 05
Token: 06
Token: 07
Token: 08
Token: 09
Token: 10
Token: 11
Token: 12
Token: 13
Token: 14
Token: 15
Token: 16