java 判断字符是否含有特殊字符

发布网友

我来回答

3个回答

热心网友

一般都是使用正则表达式,如下代码:
public static final String DEFAULT_QUERY_REGEX = "[!$^&*+=|{}';'\",<>/?~!#¥%……&*——|{}【】‘;:”“'。,、?]";

/**
* 判断查询参数中是否以特殊字符开头,如果以特殊字符开头则返回true,否则返回false
*
* @param value
* @return
* @see {@link #getQueryRegex()}
* @see {@link #DEFAULT_QUERY_REGEX}
*/
public boolean specialSymbols(String value) {
if (StringUtil.isBlank(value)) {
return false;
}
Pattern pattern = Pattern.compile(getQueryRegex());
Matcher matcher = pattern.matcher(value);

char[] specialSymbols = getQueryRegex().toCharArray();

boolean isStartWithSpecialSymbol = false; // 是否以特殊字符开头
for (int i = 0; i < specialSymbols.length; i++) {
char c = specialSymbols[i];
if (value.indexOf(c) == 0) {
isStartWithSpecialSymbol = true;
break;
}
}

return matcher.find() && isStartWithSpecialSymbol;
}

/**
* 获取查询过滤的非法字符
*
* @return
*/
protected String getQueryRegex() {
return DEFAULT_QUERY_REGEX;
}

热心网友

用String类中的indexOf函数,例如:
String str="we find out sth";
if(str.indexOf("o")==-1){ //等于-1表示这个字符串中没有o这个字符
//do something
}else{
//do something
}

热心网友

直接用contains去判断,或者使用正则表达式

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com