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);
广告