[英]How to check is string contains any of special characters?
我想检查一些字符串是否包含来自 UNICODE 字符集的任何特殊符号。 以前我用正则表达式字符集对其进行了硬编码,但现在字符列表已扩展,现在不能选择对其进行硬编码。 如何设置此检查?
你可以遍历你的字符串和每个字符调用,然后
public static boolean checkingUnicode(String text){
char[] arr = text.toCharArray();
for(int i=0; i<arr.length; i++){
char c = arr[i];
if(Character.UnicodeBlock.of(c) != Character.UnicodeBlock.BASIC_LATIN){
return true;
}
}
return false;
}
希望它有效
有一个使用正则表达式的选项。
如果它与正则表达式[a-zA-Z0-9 ]
匹配,则其中没有特殊字符。
Pattern p = Pattern.compile("[a-zA-Z0-9 ]", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("I am a string");
boolean containsSpecialChar = m.find();
if(containsSpecialChar){
// Do what you need.
}
希望这会帮助你。
我认为是可以实现的。 您需要定义一个可能的特殊字符列表,并在loop
应用条件以检查列表中的每个字符是否包含该特殊字符。
使用名为 Regex 的方法。
String s= e2.getText().toString();
Pattern pattern = Pattern.compile("\\d{11}"); //CHANGE PATTERN CONDITIONS ACCORDINGLY
Matcher matcher = pattern.matcher(s); //CHECKS THE PATTERN WITH THE INPUT STRING
if (matcher.matches()) {
// YOUR METHODS
}
else
{
//PRINT AN ERROR TEXT
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.