Java 正则表达式从字符串中提取最大数值


最大数值是从字母数字字符串中提取的。这里给出一个示例 −

String = abcd657efgh234
Maximum numeric value = 657

演示此操作的程序如下 −

示例

 实时演示

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
 public static void main (String[] args) {
    String str = "123abc874def235ijk999";
    System.out.println("The string is: " + str);
    String regex = "\d+";
    Pattern ptrn = Pattern.compile(regex);
    Matcher match = ptrn.matcher(str);
    int maxNum = 0;
    while(match.find()) {
       int num = Integer.parseInt(match.group());
       if(num > maxNum) {
          maxNum = num;
       }
    }
    System.out.println("The maximum numeric value in above string is: " + maxNum);
 }
}

输出

The string is: 123abc874def235ijk999
The maximum numeric value in above string is: 999

现在让我们了解上述程序。

首先,显示字符串。然后,为至少一个数字创建正则表达式。然后编译正则表达式并创建匹配器对象。演示此操作的代码段如下。

String str = "123abc874def235ijk999";
System.out.println("The string is: " + str);
String regex = "\d+";
Pattern ptrn = Pattern.compile(regex);
Matcher match = ptrn.matcher(str);

使用 while 循环来查找字符串中的最大数值。然后显示 maxNum。演示此操作的代码段如下 −

int maxNum = 0;
while(match.find()) {
 int num = Integer.parseInt(match.group());
 if(num > maxNum) {
    maxNum = num;
 }
}
System.out.println("The maximum numeric value in above string is: " + maxNum);

更新于: 2020 年 6 月 26 日

522 次浏览

开启你的职业生涯

完成课程并获取认证

开始
广告