Java:字符串到整数数组

Moi*_*ikh 0 java arrays arraylist

我有一个字符串,它是一个坐标列表,如下所示:

st = "((1,2),(2,3),(3,4),(4,5),(2,3))"
Run Code Online (Sandbox Code Playgroud)

我希望将其转换为坐标数组,

a[0] = 1,2
a[1] = 2,3
a[2] = 3,4
....
Run Code Online (Sandbox Code Playgroud)

等等.

我可以用Python做,但我想用Java做.那么如何在java中将字符串拆分为数组?

Ada*_*dam 6

使用正则表达式,捕获(\d+,\d+)和匹配循环可以相当容易地完成它

String st = "((1,2),(2,3),(3,4),(4,5),(2,3))";

Pattern p = Pattern.compile("\\((\\d+),(\\d+)\\)");
Matcher m = p.matcher(st);
List<String> matches = new ArrayList<>();
while (m.find()) {
    matches.add(m.group(1) + "," + m.group(2));
}
System.out.println(matches);
Run Code Online (Sandbox Code Playgroud)

如果你真的需要一个数组,这可以转换

String [] array = matches.toArray(new String[matches.size()]);
Run Code Online (Sandbox Code Playgroud)