java 如何判断是否是26个英文字母

 更新时间:2021年01月22日 11:20:43   作者:chushiyunen  
这篇文章主要介绍了java 如何判断是否是26个英文字母的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

场景

需要判断,首字母是否是英文字母。

有人说,那还不简单么,StringUtils.isAlpha() 就可以搞定。 笔者也是这么想的,结果却不是如此,代码:

logger.info("字符:'{}' 是否是字母:{}","我",StringUtils.isAlpha("我")); // true
logger.info("字符:'z' 是否是字母:{}","z",StringUtils.isAlpha("z")); // true

百度了下,发现isAlpha是只要在字母区间就算是字母,范围要远远大于26个字母的范围。

解决方案

正则进行判断

用string.matches(reg) 判断就可以,代码:

String english="[a-zA-Z]"; 
logger.info("字符:'{}' 是否是字母:{}","我","我".matches(english)); // true
logger.info("字符:'{}' 是否是字母:{}","z","z".matches(english)); // true

字符列表,然后遍历

也可以写个包含26个字符的数组,然后封装为自己的判断方法。 但是感觉不如matches方便,在此不详述。

补充:java判断字符串是否全部由数字,大小写字母,特殊符号组成

直接上代码,经过验证。

package javaTest; 
import java.util.regex.Matcher;
import java.util.regex.Pattern; 
public class test { 
	/***
	 * 
	 * @param args
	 * java判断字符是否是全部由数字,小写字母,大写字母,特殊符号组成
	 * 正则表达式判断
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String str = "aksjfjJAJIFJSL12455432^&^&(";
		String str1 = "abcdfjijgiaj";
		String str2 = "JAOGVNDIJEIO";
		String str3 = "12345465870";
		String str4 = "@#$^^%^&*(";		
		
		Pattern pattern1 = Pattern.compile("[a-z]*");
		Pattern pattern2 = Pattern.compile("[A-Z]*");
		Pattern pattern3 = Pattern.compile("[0-9]*");
		Pattern pattern4 = Pattern.compile("\\p{Punct}+");
		
		Matcher matcher1 = pattern1.matcher(str1);
		Matcher matcher2 = pattern2.matcher(str2);
		Matcher matcher3 = pattern3.matcher(str3);
		Matcher matcher4 = pattern4.matcher(str4);		
		
		if (matcher1.matches()) {
			System.out.println("全是小写字母");
		}
		else {
			System.out.println("不全是小写字母");
		}		
		
		if (matcher2.matches()) {
			System.out.println("全是大写字母");
		}
		else {
			System.out.println("不全是大写字母");
		}		
		
		if (matcher3.matches()) {
			System.out.println("全是数字");
		}
		else {
			System.out.println("不全是数字");
		}		
		
		if (matcher4.matches()) {
			System.out.println("全是特殊符号");
		}
		else {
			System.out.println("不全是特殊符号");
		}		
		
		//判断字符串是否全部由数字组成,java自带方法判断
		boolean flag = true;
		for (int i = str3.length()-1; i >= 0; i--) {
			if (!Character.isDigit(str3.charAt(i))) {
				flag = false;
			}
		}
		if (flag) {
			System.out.println(str3 + "全部是数字");
		} 
	} 
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 解决Java中SimpleDateFormat线程不安全的五种方案

    解决Java中SimpleDateFormat线程不安全的五种方案

    SimpleDateFormat 就是一个典型的线程不安全事例,本文主要介绍了解决Java中SimpleDateFormat线程不安全的五种方案,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Java如何实现验证码验证功能

    Java如何实现验证码验证功能

    这篇文章主要教大家如何实现Java验证码验证功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Java实现多路复用select模型实例详解

    Java实现多路复用select模型实例详解

    在计算机网络中,多路复用(Multiplexing)指的是通过一种机制将多个 I/O 操作合并到同一个线程或进程中,从而提高系统的效率,在 Java 中,可以使用 Selector 类来实现基于 I/O 多路复用的模式,故本文给大家介绍了Java实现多路复用select模型实例,需要的朋友可以参考下
    2025-03-03
  • 深入理解Java中的Properties类

    深入理解Java中的Properties类

    Properties类是Java中用于处理配置文件的工具类,它继承自 Hashtable类,实现了Map接口,本文主要介绍了Java中的Properties类,感兴趣的可以了解一下
    2024-01-01
  • mybatis QueryWrapper的条件构造之apply、last、select解析

    mybatis QueryWrapper的条件构造之apply、last、select解析

    这篇文章主要介绍了mybatis QueryWrapper的条件构造之apply、last、select,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Maven打包SpringBoot工程的实现示例

    Maven打包SpringBoot工程的实现示例

    在使用Spring Boot和Maven的项目中,你可以使用Maven来打包你的项目,本文主要介绍了Maven打包SpringBoot工程的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • 解决@Cacheable在同一个类中方法调用不起作用的问题

    解决@Cacheable在同一个类中方法调用不起作用的问题

    这篇文章主要介绍了解决@Cacheable在同一个类中方法调用不起作用的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • springboot 如何配置多个jndi数据源

    springboot 如何配置多个jndi数据源

    这篇文章主要介绍了springboot 如何配置多个jndi数据源的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • mybaits-plus lambdaQuery() 和 lambdaUpdate() 常见的使用方法

    mybaits-plus lambdaQuery() 和 lambdaUpdate() 常见的使用方法

    MyBatis-Plus是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生,这篇文章主要介绍了mybaits-plus lambdaQuery() 和 lambdaUpdate() 比较常见的使用方法,需要的朋友可以参考下
    2023-01-01
  • Java复制一个对象并且不想复制其中的空值属性问题

    Java复制一个对象并且不想复制其中的空值属性问题

    这篇文章主要介绍了Java复制一个对象并且不想复制其中的空值属性问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论