java字符串中怎么区分大小写还有区分数字呢

img


提问:随便输入一串字符串,怎么区分大小写、数字、字母等?
为什么我这个出来的显示false和true呢

Charater下的这些方法的作用是判断呀,返回值就是bool类型呀,true表示符合要求,false表示不符合要求


public class Main {
public static void main(String[] args) {
String str = "Hello123World";
int upper = 0, lower = 0, digit = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (Character.isUpperCase(ch)) {
upper++;
} else if (Character.isLowerCase(ch)) {
lower++;
} else if (Character.isDigit(ch)) {
digit++;
}
}
System.out.println("Uppercase letters: " + upper);
System.out.println("Lowercase letters: " + lower);
System.out.println("Digits: " + digit);
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/205308
  • 这篇博客也不错, 你可以看下java中给3个布尔变量,当其中有2个或者2个以上为true才返回true
  • 除此之外, 这篇博客: Java正则表达式详细用法中的 一.判断一个给定的字符串是否符合正则校验,返回一个特定的布尔值(true或false) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

            1.  . 和 \
               . 在正则表达式中表示任意一个字符

               \ 在正则表达式当中表示转义字符,比如.在正则表达式当中表示任意一个字符,要是单纯的想要表达一个.的时候,就需

               要用到\转义字符来表示, \. 在java程序当中\也是被认为特殊字符,也需要进行转义,应该用\\.

            2.字符集合[]
              [] 用来描述一个单一的字符,方括号内部可以定义这个字符的内容,也可以描述一个范围
              [abc] abc中的任意一个字符
              [a-z] 小写字母当中a-z的任意一个单词
              [A-Z] 大写字母当中A-Z中的任意一个单词
              [0-9] 数字0-9中的任意一个数字
              [a-zA-Z0-9] a-zA-z0-9中的任意一个字符
              [a-z&&[^bc]] a-z中除了bc以外的任意一个字母
              
            3.预定义字符集
              \d 表示一个数字字符
              \w 表示任意一个数字字母_中的一个字符
              \s 表示空白字符  相当于[\t\n]
              \D 表示非数字字符
              \W 表示非数字字母下划线字符
              \S 表示非空白字符
              
            4.数量词
              x?  表示0个或者1个x
              x*  表示0个或多个x
              x+  表示1个到任意多个x,相当于大于等于1个x
              x{n} 表示可以有n个x
              x{n,} 表示可以有n到任意多个x
              x{n,m}表示n到m个x

            5.() 分组和捕获
              它有两个用途,可以将一段正则表达式括起来看做一个整体来对这个整体进行匹配,

              另一个用途就是捕获组的用法,可以通过()来做一个或者多个捕获组,根据某个捕获组来匹配给定的字符串当中的

              一部分内容,捕获组是根据(来进行匹配的,发现有一个(就对应一个捕获组,如果想让()里面的正则表达式单纯的

              当做一个整体来进行匹配,在(后面加上“?:”即可,就不会当做一个捕获组来进行处理

            6. ^ 和 $
              ^ 代表字符串的开始
              $ 代表字符串的结束

              可以对一个给定的字符串进行从头到尾的整体匹配

  • 您还可以看一下 刘英杰老师的Java程序员面试宝典视频课程之内部类(十三)课程中的 12-01 方法内部能不能定义类?小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^