📅  最后修改于: 2023-12-03 14:52:46.432000             🧑  作者: Mango
在Java中,我们可以使用正则表达式来查找数字的最后一位。下面是一些具体的方法:
Pattern
和Matcher
类: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()
方法获取匹配到的字符串。
String.replaceAll()
方法:String input = "12345";
String lastDigit = input.replaceAll("^.*?(\\d)$", "$1");
在上面的代码中,我们使用正则表达式^.*?(\\d)$
,其中^
表示字符串的开头。我们使用replaceAll()
方法将除了最后一位数字的其他字符替换成了空字符串,并且在正则表达式中使用了捕获组来获取最后一位数字。
String.matches()
方法:String input = "12345";
if (input.matches(".*?(\\d)$")) {
String lastDigit = input.substring(input.length() - 1);
}
在上面的代码中,我们使用matches()
方法匹配输入字符串是否符合正则表达式.*?(\\d)$
,并且使用substring()
方法获取字符串的最后一位数字。
以上就是在Java中使用正则表达式查找数字的最后一位的方法。需要注意的是,正则表达式的写法和匹配方式取决于具体的需求,我们需要根据需求灵活使用。