java正则表达式 ascii,是否可以检查字符串是否在Java中仅包含ASCII?
使用正則表達(dá)式
您可以使用以下正則表達(dá)式查找特定的String值是否包含ASCII字符-\\A\\p{ASCII}*\\z
String類的matches()方法接受正則表達(dá)式,并驗(yàn)證當(dāng)前字符串是否與給定表達(dá)式匹配(如果匹配),則返回true,否則返回false。
因此,通過(guò)將上述指定的正則表達(dá)式作為參數(shù)傳遞,從而對(duì)輸入/所需字符串調(diào)用matches()方法。
示例import?java.util.Scanner;
public?class?OnlyASCII?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
System.out.println("Enter?a?string?value:?");
String?input?=?sc.nextLine();
//驗(yàn)證ACCII-
boolean?result?=?input.matches("\\A\\p{ASCII}*\\z");
if(result)?{
System.out.println("String?approved");
}?else?{
System.out.println("Contains?non-ASCII?values");
}
}
}
輸出1Enter?a?string?value:
hello?how?are?you
String?approved
輸出2Enter?a?string?value:
wh??do?we?fall
Contains?non-ASCII?values
驗(yàn)證每個(gè)字符
如果將ASCII字符轉(zhuǎn)換為整數(shù),則所有結(jié)果將小于或等于127。String類的charAt()方法接受一個(gè)整數(shù)值并返回指定索引處的字符。
使用此方法檢索給定String中的每個(gè)字符,并驗(yàn)證它們是否大于127。
示例import?java.util.Scanner;
public?class?OnlyASCII?{
public?static?void?main(String[]?args)?{
Scanner?sc?=?new?Scanner(System.in);
System.out.println("Enter?a?string?value:?");
String?input?=sc.next();
//將給定的字符串轉(zhuǎn)換為字符數(shù)組
char?charArray[]?=?input.toCharArray();
boolean?result?=?true;
for(int?i?=?0;?i?
int?test?=?(int)input.charAt(i);
if?(test<=127)?{
result?=?true;
}else?if?(test?>127){
result?=?false;
}
}
System.out.println(result);
if(result)?{
System.out.println("String?approved");
}else?{
System.out.println("Contains?non-ASCII?values");
}
}
}
輸出1Enter?a?string?value:
wh?
false
Contains?non-ASCII?values
輸出2Enter?a?string?value:
hello
true
String?approved
總結(jié)
以上是生活随笔為你收集整理的java正则表达式 ascii,是否可以检查字符串是否在Java中仅包含ASCII?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2022高考分数线持续出炉:官方提醒谨防
- 下一篇: 告别32位时代:联发科宣布天玑5G平台全