Java从string获取整数值

时间:2013-03-10 17:46:50

标签: java string integer

我想从我的字符串中获取整数值。以下是我的例子。

String strScore = "Your score is 10. Probability in the next 2 years is 40%";

但我只想得到10分。我该怎么做?

更新:

String firstNumber = strScore.replaceFirst(".*?(\\d+).*", "$1");

bfLog.createEntry( firstNumber );

我把它保存到sqlite数据库。

3 个答案:

答案 0 :(得分:10)

您可以使用其中一种String正则表达式replace方法捕获captured group中的第一个数字:

String firstNumber = strScore.replaceFirst(".*?(\\d+).*", "$1");
  • .*?消耗初始非数字(非贪婪)
  • (\\d+)获取群组中的一个或多个可用数字!
  • .*其他所有内容(贪婪)。

答案 1 :(得分:3)

这取决于你的字符串中是否还有其他变化。

如果除了数字之外总是相同的话,你可以使用

int score = Integer.parseInt(strScore.substring(14,16))

因为数字“10”位于字符串的索引14和15处。 如果字符串中的其他内容发生变化,则应使用正则表达式:

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

答案 2 :(得分:1)

你可以试试这个:

String strScore = "Your score is 10. Probability in the next 2 years is 40%";
String intIndex = strScore.valueOf(10);
String intIndex = 10 // Result