私はこのような文字列を持っています:
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.XYZ抽出したいだけです56.XYZ。これどうやってするの?
私はこのような文字列を持っています:
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.XYZ抽出したいだけです56.XYZ。これどうやってするの?
私のコメントによると、次のような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メソッドが1つ以上の空白文字(\ s)またはコンマを使用して文字列を分割するのに役立つ正規表現です。
を使用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);
// ...
}
これは分割され、入力文字列のすべての小数を反復処理します
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
}
}
これは最も美しい解決策ではないかもしれませんが、機能します。
String[] myStrings = uglyString.spli(",");
Integer firstNum = new Integer(myStrings[0]);
Integer secondNum = new Integer(myStrings[1]);