我有一个字符串:
String stringProfile = "0,4.28 10,4.93 20,3.75";
我正在尝试将其转换为如下数组:
double [][] values = {{0, 4.28}, {10, 4.93}, {20, 3.75}};
我已经格式化了字符串以删除所有空格并用逗号替换:
String stringProfileFormatted = stringProfile.replaceAll(" ", ",");
现在,字符串stringProfileFormatted = "0,4.28,10,4.93,20,3.75";
然后我创建一个String数组:
String[] array = stringProfileFormatted.split("(?<!\\G\\d+),");
因此,数组中的每个元素都是每2个逗号值的字符串。
不确定如何将其转换为2d数组。这是正确的解决方法吗?
答案 0 :(得分:1)
如果您的字符串遵循您描述的模式,那么您可以这样做:
String stringProfile = "0,4.28 10,4.93 20,3.75";
String[] split = stringProfile.split(" "); // split by space;
double[][] a = new double[split.length][]; // your result
for(int i = 0; i < split.length; i++) {
String[] numbers = split[i].split(","); // split by ,
double[] doubles = Arrays.stream(numbers).mapToDouble(Double::new).toArray(); //create 1-D array
a[i] = doubles; // assign it do your result
}