📌  相关文章
📜  如何在java中通过正则表达式查找数字的最后一位(1)

📅  最后修改于: 2023-12-03 14:52:46.432000             🧑  作者: Mango

如何在Java中通过正则表达式查找数字的最后一位

在Java中,我们可以使用正则表达式来查找数字的最后一位。下面是一些具体的方法:

  1. 使用PatternMatcher类:
String pattern = ".*?(\\d)$";
String input = "12345";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
if (m.find()) {
    String lastDigit = m.group(1);
}

在上面的代码中,我们使用正则表达式.*?(\\d)$,其中.表示任意字符,*?表示匹配0个或多个字符,\\d表示数字,$表示字符串的结尾。最后,我们使用group()方法获取匹配到的字符串。

  1. 使用String.replaceAll()方法:
String input = "12345";
String lastDigit = input.replaceAll("^.*?(\\d)$", "$1");

在上面的代码中,我们使用正则表达式^.*?(\\d)$,其中^表示字符串的开头。我们使用replaceAll()方法将除了最后一位数字的其他字符替换成了空字符串,并且在正则表达式中使用了捕获组来获取最后一位数字。

  1. 使用String.matches()方法:
String input = "12345";
if (input.matches(".*?(\\d)$")) {
    String lastDigit = input.substring(input.length() - 1);
}

在上面的代码中,我们使用matches()方法匹配输入字符串是否符合正则表达式.*?(\\d)$,并且使用substring()方法获取字符串的最后一位数字。

以上就是在Java中使用正则表达式查找数字的最后一位的方法。需要注意的是,正则表达式的写法和匹配方式取决于具体的需求,我们需要根据需求灵活使用。