Java 检查字符串中单词的值
我有一根像Java 检查字符串中单词的值,java,string,token,Java,String,Token,我有一根像 String example = "Tag: something Id: somethingElse Score: 0.8"; 如何检查得分是否高于/等于/低于0。通过使用lastIndexOf和substringfromString对象,可以从字符串中获取值 String scoreStr = example.substring(example.lastIndexOf("Score:") + "Score:".length()); double score = Double.p
String example = "Tag: something Id: somethingElse Score: 0.8";
如何检查
得分
是否高于/等于/低于0。通过使用lastIndexOf
和substring
fromString
对象,可以从字符串中获取值
String scoreStr = example.substring(example.lastIndexOf("Score:") + "Score:".length());
double score = Double.parseDouble(scoreStr.trim());
现在,您可以在score
上执行if
…else if
语句
PS:如果要将其返回为float,请更改最后一行,如下所示:
float score = Float.parseFloat(scoreStr.trim());
通过使用
String
对象中的lastIndexOf
和substring
,可以从字符串中获取值
String scoreStr = example.substring(example.lastIndexOf("Score:") + "Score:".length());
double score = Double.parseDouble(scoreStr.trim());
现在,您可以在score
上执行if
…else if
语句
PS:如果要将其返回为float,请更改最后一行,如下所示:
float score = Float.parseFloat(scoreStr.trim());
然后检查得分加倍
然后检查scoreDouble。如果格式稳定,可以查找“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));
之后,它将是一个简单的if on
num
。您还应该捕获NumberFormatException,尤其是在字符串格式有时可能出错的情况下。如果格式稳定,您可以查找“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));
之后,它将是一个简单的if on
num
。您还应该了解NumberFormatException,尤其是在字符串格式有时可能出错的情况下。作为@Elite Gentle的替代方案:
String [] tokens = example.split(" |:");
Double score = Double.valueOf( tokens[tokens.length - 1] )
如果分数总是最后一个,当然:)作为“精英绅士”的替代品:
String [] tokens = example.split(" |:");
Double score = Double.valueOf( tokens[tokens.length - 1] )
如果分数总是最后一个,当然:)这不起作用。首先,您忘记了在计算索引以获取scoreStr时添加
“Score:
的长度。第二:你应该先修剪你的scoreStr
,然后再将其转换为double。第三:在String
中没有像parseDouble
那样的方法。我认为应该是Double.parseDouble(str)代码>不总是最后三个字符。。它可能类似于0.8(如示例所示),或者类似于0.2345356或1.344,或者……不是真的,它仍然不工作,字符串没有parseDouble()method@user992821,我没有读最后3个字符。请阅读并理解我的代码。@Stivlo,谢谢……哈哈。有趣的是,我正在看Double.parseDouble()
。我想我打字太快了。这行不通。首先,您忘记了在计算索引以获取scoreStr时添加“Score:
的长度。第二:你应该先修剪你的scoreStr
,然后再将其转换为double。第三:在String
中没有像parseDouble
那样的方法。我认为应该是Double.parseDouble(str)代码>不总是最后三个字符。。它可能类似于0.8(如示例所示),或者类似于0.2345356或1.344,或者……不是真的,它仍然不工作,字符串没有parseDouble()method@user992821,我没有读最后3个字符。请阅读并理解我的代码。@Stivlo,谢谢……哈哈。有趣的是,我正在看Double.parseDouble()
。我想我打字太快了。