您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页java如何判断是否是26个英文字母

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

来源:暴趣科技网
java如何判断是否是26个英⽂字母

场景

需要判断,⾸字母是否是英⽂字母。

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

logger.info(\"字符:'{}' 是否是字母:{}\我\我\")); // truelogger.info(\"字符:'z' 是否是字母:{}\

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

解决⽅案

正则进⾏判断

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

String english=\"[a-zA-Z]\";

logger.info(\"字符:'{}' 是否是字母:{}\我\我\".matches(english)); // truelogger.info(\"字符:'{}' 是否是字母:{}\

字符列表,然后遍历

也可以写个包含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 + \"全部是数字\"); } } }

以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务