проверить значение слова внутри строки - PullRequest
0 голосов
/ 13 октября 2011

У меня есть строка типа

String example =  "Tag: something Id: somethingElse Score: 0.8";

Как я могу проверить, является ли Score выше / равно / ниже 0.

Ответы [ 4 ]

2 голосов
/ 13 октября 2011

просто как альтернатива @ The-Elite-Gentleman:

String [] tokens = example.split(" |:");
Double score = Double.valueOf( tokens[tokens.length - 1] )

В случае, если счет всегда последний, конечно:)

2 голосов
/ 13 октября 2011

Используя lastIndexOf и substring из String объекта, вы можете получить значение из строки.

String scoreStr = example.substring(example.lastIndexOf("Score:") + "Score:".length());
double score = Double.parseDouble(scoreStr.trim());

Теперь вы можете сделать if ... else if оператор score.

PS: Если вы хотите, чтобы он возвращался как float, измените последнюю строку следующим образом:

float score = Float.parseFloat(scoreStr.trim());
1 голос
/ 13 октября 2011

Если формат стабилен, вы можете найти «Score:», получить остаток строки и проанализировать как число с плавающей запятой или двойное число, в зависимости от необходимой точности.

String example = "Tag: something Id: somethingElse Score: 0.8";
String search = "Score: ";
int scorePosition = example.indexOf(search) + search.length();
float num = Float.parseFloat(example.substring(scorePosition));

После этого было бы просто, если на num. Вам также следует перехватить NumberFormatException, особенно в том случае, если формат строки может быть неправильным.

1 голос
/ 13 октября 2011
String score = example.substring("the index of 0", "the index of 8"); //Without quotes//

double scoreDouble = Double.parseDouble(aString);

Затем проверьте счетДвойной.

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