📜  从字符串中获取数字 - Java (1)

📅  最后修改于: 2023-12-03 15:36:17.649000             🧑  作者: Mango

从字符串中获取数字 - Java

Java中提供了多种方法来获取字符串中的数字,这些方法可以帮助我们从字符串中提取需要的数字信息。本篇文章将介绍几种在Java中从字符串中获取数字的常用方法。

1. 使用正则表达式

Java中正则表达式可以用于匹配、查找和替换字符串中的文本。我们可以使用正则表达式[0-9]+来匹配字符串中的数字。接下来是一个示例代码:

String str = "你好123Java456";
Pattern pattern = Pattern.compile("[0-9]+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
    System.out.println(matcher.group());
}

输出结果为:

123
456

这段代码首先定义了一个字符串str,然后定义了一个正则表达式[0-9]+,该正则表达式可以匹配1个或多个数字。接着,我们创建了一个Pattern对象,该对象编译了我们的正则表达式。然后使用该Pattern对象创建Matcher对象,Matcher对象可以对指定的字符串进行匹配操作。在while循环内,我们用find()方法检查字符串中是否还有与正则表达式匹配的子串,如果有,则使用group()方法返回匹配的子串。

2. 使用Java自带的函数库

Java提供了许多有用的函数库,其中包括字符串处理函数库。我们可以使用Integer.parseInt()Double.parseDouble()函数将字符串转换为数字类型(整型、浮点型)。下面是一个简单的示例:

String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);

输出结果为:

123

这段代码中,我们定义了一个字符串变量str,然后使用Integer.parseInt()将其转换为整型变量num。如果字符串中包含的是浮点数,则可以使用Double.parseDouble()

3. 使用第三方库

Java中也有许多第三方库可以帮助我们处理字符串操作。其中比较常用的是Apache Commons Lang库的NumberUtils类,该类提供了一些方法来处理数字字符串。下面是一个示例代码:

String str = "123";
boolean isNumber = NumberUtils.isNumber(str);
if (isNumber) {
    int num = NumberUtils.toInt(str);
    System.out.println(num);
}

输出结果为:

123

这段代码中,我们首先检查字符串是否为数字格式,然后使用NumberUtils.toInt()方法将其转换为整型。如果字符串中包含的是浮点数,则可以使用NumberUtils.toFloat()等方法。

以上就是Java中从字符串中获取数字的几种常用方法,每种方法各有优劣,可以根据具体需要选择适合的方法。