Извлечь двойной из строки - PullRequest
1 голос
/ 25 октября 2011

Из следующей строки:

radius: -0.118211 zone

как мне извлечь число в двойном формате.

Ответы [ 5 ]

6 голосов
/ 25 октября 2011

Примерно так:

String tmpstr = "radius: -0.118211 zone";
String asd[] = tmpstr.split(" ");
double dbl = Double.parseDouble(asd[1]);
System.out.println(dbl);
3 голосов
/ 25 октября 2011
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 голосов
/ 25 октября 2011

Вы можете сделать что-то вроде этого:

String[] srt = "radius: -0.118211 zone".split(" ");
Double.parseDouble(srt[1]);

Вы должны добавить проверку ошибок, чтобы избежать исключения за пределами.

2 голосов
/ 08 октября 2012
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);                 
}
1 голос
/ 25 октября 2011
String foo = "radius: -0.118211 zone";

String [] result = foo.split(" ");

Double d = Double.valueOf(result[1]);
System.out.println(d);

Будет ли это работать для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...