Java将浮点字符串解析为float数组?

Son*_*man 2 java arrays string floating-point parsing

有一种简单的方法可以将一串浮点数解析为浮点数组吗?我正在编写一个导入器,需要解析一个ascii文件来获取一些值,我只是想知道是否有更简单的方法来执行此操作然后自己搜索所有空白并Float.parseFloat(s)用于每个空格分隔的值.

例如,字符串是

1 0 4 0 26 110.78649609798859 39 249.34908705094128 47 303.06802752888359

我想创建一个浮点数组:

[1, 0, 4, 0, 26, 110.78649609798859, 39, 249.34908705094128, 47, 303.06802752888359]

谢谢您的帮助!

Ree*_*ore 7

使用扫描仪[ API ]

使用Scanner#hasNextFloatScanner#nextFloat方法循环并获取所有浮点数并将它们构建为数组.


Jas*_*ers 6

你可以这样做

拆分字符串

String [] split(String regex)围绕给定正则表达式的匹配拆分此字符串.

String[] tabOfFloatString = bigStringWithAllFloats.split(regex);
Run Code Online (Sandbox Code Playgroud)

正则表达式可以是空格,制表符,逗号等等(正则表达式的优点是你可以组合所有你想要的,我在我的xml阅读器中使用它"[ - +.,:;]"); 然后循环并转换为浮点数

for(String s : tabOfFloatString){
    float res = Float.parseFloat(s);
    //do whatever you want with the float
}
Run Code Online (Sandbox Code Playgroud)