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

本文讨论了在Java中使用StringUtils.isAlpha()方法判断字符串首字母是否为英文字母时遇到的问题,该方法的判断范围不仅限于26个基本字母。作者建议使用正则表达式`[a-zA-Z]`通过`string.matches()`来实现精确判断,并提供了相关代码示例。此外,还分享了一个检查字符串是否全由特定字符组成的通用方法。
摘要由CSDN通过智能技术生成

场景

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

有人说,那还不简单么,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 + "全部是数字");

}

}

}

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值