如何获得括号([])之间的数字我有这样一个字符串:在一个字符串
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
,我需要得到brakets之间的数字在数组中。谁能帮我?
如何获得括号([])之间的数字我有这样一个字符串:在一个字符串
String msg = "[05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16]";
,我需要得到brakets之间的数字在数组中。谁能帮我?
伪代码:
String replace '[' with ''
String replace ']' with ''
String split at ' '
该伪代码只与实际代码相距一些字符:D – Joffrey 2014-09-10 13:06:39
你也可以使用字符串标记为:
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
您可以使用一个简单的正则表达式查找所有的数字:
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
你做了什么? – Thomas 2014-09-10 13:03:25
特别是,考虑减少这个问题:首先需要获取“括号内的位”,然后解析每一个(假设你需要'int'值)。 – 2014-09-10 13:03:52
对于第一步(隔离字符串的一部分),您应该看看'String'类的一些方法,特别是'split()' – Joffrey 2014-09-10 13:05:46