我有以下输入
(11,C)(5,)(7,AB)
我需要将每个坐标分为两部分。
所以我的intarray应该有11、5、7
我的字母数组应该有C ,, AB
但是当我尝试使用stringtokenizer时,
我只有我的intarray应该有11、5、7
我的字母数组应该有C,AB
我有什么办法可以得到(5,)的空白部分?
谢谢。
Vector<String> points = new Vector<String> ();
String a = "(11,C) (5,) (7,AB)";
StringTokenizer st = new StringTokenizer(a, "(,)");
while(st.hasMoreTokens()) {
points.add(st.nextToken());
}
}
System.out.println(points);
最佳答案
List <Integer> digits = new ArrayList <Integer> ();
List <String> letters = new ArrayList <String> ();
Matcher m = Pattern.compile ("\\((\\d+),(\\w*)\\)").matcher (string);
while (m.find ())
{
digits.add (Integer.valueOf (m.group (1)));
letters.add (m.group (2));
}
关于java - Java StringTokenizer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14726474/