来自以下字符串:
radius: -0.118211 zone
如何以双重格式提取数字。
答案 0 :(得分:6)
这样的事情:
String tmpstr = "radius: -0.118211 zone";
String asd[] = tmpstr.split(" ");
double dbl = Double.parseDouble(asd[1]);
System.out.println(dbl);
答案 1 :(得分:3)
你可以这样做:
String[] srt = "radius: -0.118211 zone".split(" ");
Double.parseDouble(srt[1]);
您应该添加错误检查以避免超出范围异常。
答案 2 :(得分:3)
String stringToStrip="radius: -0.118211 zone";
String stripedValue = (stringToStrip.replaceAll("[\\s+a-zA-Z :]",""));
double dbl = Double.parseDouble(stripedValue);
System.out.println(dbl);
或者只是为了好玩的一个班轮,由于不良的可读性,这绝对是不好的做法
System.out.println(Double.parseDouble("radius: -0.118211 zone".replaceAll("[\\s+a-zA-Z :]","")));
答案 3 :(得分:2)
String result="";
String str= "radius: -0.118211 zone";
String regex ="(-0.)+([0-9]+)";
Matcher matcher = Pattern.compile( regex ).matcher( str);
while (matcher.find( ))
{
result = matcher.group();
System.out.println("number="+result);
}
答案 4 :(得分:1)
String foo = "radius: -0.118211 zone";
String [] result = foo.split(" ");
Double d = Double.valueOf(result[1]);
System.out.println(d);
这对你有用吗?