我有以下输入
    (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/

10-12 22:38