我有一个像
这样的字符串String example = "Tag: something Id: somethingElse Score: 0.8";
如何检查Score
是否高于/等于/低于0.
答案 0 :(得分:2)
通过使用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 :(得分:2)
作为@The-Elite-Gentleman的替代品:
String [] tokens = example.split(" |:");
Double score = Double.valueOf( tokens[tokens.length - 1] )
如果得分总是最后的,当然:)
答案 2 :(得分:1)
String score = example.substring("the index of 0", "the index of 8"); //Without quotes//
double scoreDouble = Double.parseDouble(aString);
然后检查scoreDouble。
答案 3 :(得分:1)
如果格式稳定,您可以查找“得分:”,获取字符串的剩余部分,并根据您需要的精度解析为浮点数或双数字。
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,尤其是在字符串格式有时可能出错的情况下。