场景

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

有人说,那还不简单么,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 26个英文字母_java 如何判断是否是26个英文字母相关推荐

  1. java 判断是否是字母_java中判断是否是字母

    java判断字符串是否是字母:记录一个方法,用来判断一个字串中字符是否全为字母 public class MainClass { public static void main(String[] ar ...

  2. java 判断字符串是否包含字母_Java中判断某一字符串是否包含数字、字母和中文...

    importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classStrValidate {//纯数字 private s ...

  3. java将汉字转成拼音首字母大写字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  4. java 中文转首字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  5. java中文名转成大写字母_Java 将汉字转换为拼音并取首字母大写

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 首先需要引入pinyin4j-2.5.0.jar 在定义一个servlet.Java的类,写一个Converting方法 实例代码详解如下: public ...

  6. Java如何校验中文乱码_java如何判断是否中文乱码

    中文乱码在项目中是经常会遇到的情况.当我们通过设置request和response字符集,但是还是出现中文乱码的时候,今天给介绍一种通过java方法实现判断string是否为乱码的方法./** * 判 ...

  7. java字符类的英文表示_java 字符串截取类 区分中文、英文、数字、标点符号

    package com.founder.fix.ims; /** * @author WANGYUTAO * 操作字符串 */ public class SubString { // public s ...

  8. java 字符串包含某个字符_java中判断字符串中是否包含某个特定字符串的方法有哪些...

    判断一个字符串是否包含某个子串的n种方法: 1.startsWith()方法 2.contains()方法 3.indexOf方法 startsWith()方法 这个方法有两个变体,用于检测字符串是否 ...

  9. java search 不能使用方法_java – 无法使用TERMS QUERY从ELASTIC SEARCH查询字母数字字段...

    我试图使用TERMS QUERY从索引查询字母数字值,但它没有给我输出. 查询: { "size" : 10000, "query" : { "boo ...

最新文章

  1. 4 种主流的 API 架构风格对比
  2. Flutter开发之JSON及序列化(29)
  3. windows下的虚拟内存分配分析
  4. Python3爬取网页信息乱码怎么解决?(更新:已解决)
  5. 【jquery模仿net控件】初步GridView模型实现,及其简单应用
  6. call_once/once_flag的使用
  7. open×××+Mysql+PAM构建强大的***系统
  8. java记秒,Java程序获取自Java时代开始以来的秒数
  9. 使用libevhtp搭建HTTPS SERVER(单向验证身份)
  10. 源码安装MySQL步骤
  11. SQL Server 2005高可用性之镜像功能
  12. 增霸卡传输掉线/无法登录/再次登录时间长
  13. POJ2545-丑数
  14. python中文库_不用下载券也能下载百度文库资料,Python帮你轻松搞定
  15. c语言二重循环的盒图怎么画,5循环结构程序设计
  16. Redis统计用户访问量
  17. pdfbox读取pdf图片,截取图片, tess4j 图片文字识别
  18. mtk开发世界时区客制化
  19. CPU卡技术学习笔记1
  20. C - 1111gal password

热门文章

  1. 人工智能翻译机到底能否取代真人翻译?这有两个高人的答案
  2. 【详细】Application生命周期简介
  3. 【C++ 将十六进制数转换为二进制数】
  4. 内卷的3D视觉:资本炒作、无序乱战、伪集成
  5. vue实现视频监控后台管理
  6. 01-微服务探讨(摘)
  7. 电脑使用变慢七大原因分析
  8. ios5.1.1完美越狱中文教程ipad3,ipad2,ipad,iphone3,iphone4,iphone4s
  9. linux设置时间为24格式图文,linux修改设置时间命令date
  10. 面对10亿用户流量,餐饮商家如何打破运营僵局