0

我有一个这样的字符串:

 14.809180,56.876968,0.000000 14.808170,56.877048,0.000000 14.805100,56.877220,0.000000 14.804130,56.877338,0.000000

即,一开始有一个空格,在 0.000000 之后还有一个空格。我只想提取14.XYZ56.XYZ. 我怎样才能做到这一点?

4

4 回答 4

2

根据我的评论,尝试 String#split(...),例如:

  String test = "14.809180,56.876968,0.000000 14.808170,56.877048,0.000000 14.805100,56.877220,0.000000";
  String[] tokens = test.split("[,\\s]+");
  for (String token : tokens) {
     System.out.println(token);
  }

"[,\\s]+"是一个正则表达式,它帮助 split 方法使用一个或多个空格字符 (\s) 或逗号来拆分字符串。

于 2011-10-08T01:01:58.170 回答
0

用于String.split()分隔每个数字,然后Double.valueOf()将其转换为double.

String string = "14.809180,56.876968,0.000000 14.808170,56.877048,0.000000 14.805100,56.877220,0.000000 14.804130,56.877338,0.000000";
String[] numStrings = string.split("[ ,]");
for (String num : numStrings) {
    double d = Double.valueOf(num);
    // ...
}
于 2011-10-08T00:59:49.030 回答
0

这将拆分并遍历输入字符串中的所有小数

String groups[] = input.split(" ");
for(int i = 0; i < groups.length; i++) {
   String decimals[] = groups[i].split(",");
   for(int j = 0; j < decimals.length; j++) {
      float f = Float.parseFloat(decimals[j]);
      //do something with f
   }
}
于 2011-10-08T01:03:07.840 回答
0

这可能不是最漂亮的解决方案,但它会起作用。

String[] myStrings = uglyString.spli(",");
Integer firstNum = new Integer(myStrings[0]);
Integer secondNum = new Integer(myStrings[1]);
于 2011-10-08T01:03:15.690 回答