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中将字符串拆分为数组?
使用正则表达式,捕获(\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)