欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

百度了下,發(fā)現(xiàn)isAlpha是只要在字母區(qū)間就算是字母,范圍要遠遠大于26個字母的范圍。

解決方案

正則進行判斷

用string.matches(reg) 判斷就可以,代碼:

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

字符列表,然后遍歷

也可以寫個包含26個字符的數(shù)組,然后封裝為自己的判斷方法。 但是感覺不如matches方便,在此不詳述。

補充:java判斷字符串是否全部由數(shù)字,大小寫字母,特殊符號組成

直接上代碼,經(jīng)過驗證。

package javaTest; 
import java.util.regex.Matcher;
import java.util.regex.Pattern; 
public class test { 
	/***
	 * 
	 * @param args
	 * java判斷字符是否是全部由數(shù)字,小寫字母,大寫字母,特殊符號組成
	 * 正則表達式判斷
	 */
	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("全是數(shù)字");
		}
		else {
			System.out.println("不全是數(shù)字");
		}		
		
		if (matcher4.matches()) {
			System.out.println("全是特殊符號");
		}
		else {
			System.out.println("不全是特殊符號");
		}		
		
		//判斷字符串是否全部由數(shù)字組成,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 + "全部是數(shù)字");
		} 
	} 
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

最新評論