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

作者:chushiyunen 时间:2023-11-29 15:51:59 

场景

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

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

以上为个人经验,希望能给大家一个参考。

来源:https://blog.csdn.net/enthan809882/article/details/106369891

标签:java,判断,英文字母
0
投稿

猜你喜欢

  • Java裁剪压缩PNG图片,透明背景色变黑的解决方案

    2023-11-25 13:21:27
  • Springmvc Controller接口代码示例

    2023-11-28 10:13:25
  • C#实现会移动的文字效果

    2023-02-16 08:56:13
  • C#实现导入CSV文件到Excel工作簿的方法

    2022-09-13 12:24:02
  • 全面详解Spring Bean生命周期教程示例

    2023-08-09 11:41:15
  • java 启动exe程序,传递参数和获取参数操作

    2023-09-11 04:30:47
  • Java设计模式之职责链模式详解

    2023-01-26 21:16:26
  • 实例分析Java中public static void main(String args[])是什么意思

    2023-10-18 16:34:01
  • Java中Lambda表达式和函数式接口的使用和特性

    2023-06-20 20:05:42
  • 深入解析JVM之内存结构及字符串常量池(推荐)

    2023-01-02 19:48:20
  • intellij idea创建第一个动态web项目的步骤方法

    2023-04-16 15:47:20
  • Android编程实现震动与振铃的方法详解

    2022-01-28 19:44:23
  • 树莓派.GPRS.短信接收器

    2021-11-01 08:34:31
  • C#书写规范

    2023-07-09 09:15:57
  • 解决unity rotate旋转物体 限制物体旋转角度的大坑

    2022-01-14 01:41:49
  • 详解SpringCloud Zuul过滤器返回值拦截

    2023-02-05 07:59:37
  • Android禁止EditText自动弹出软键盘的方法及遇到问题

    2021-07-18 06:35:55
  • C#使用IComparer自定义List类实现排序的方法

    2021-06-28 04:28:09
  • Java单元测试工具之JUnit的使用

    2022-09-05 13:20:54
  • 必须要学会的JMM与volatile

    2021-07-30 14:07:53
  • asp之家 软件编程 m.aspxhome.com