新人求助,判断String[]是否包含某个String
比如判断”Error,Info,Warn"中是否存在"Error",请问有什么简便方法吗?比如Contains什么的?还是说用正则?
------解决方案--------------------public class test
{
public static void main(String[] args)
{
String string="Error,Info,Warn";
if (string.contains("Error"))
{
System.out.print("true");
}
}
}
用contains可以或者
public class test
{
public static void main(String[] args)
{
String string="Error,Info,Warn";
if (string.indexOf("Error")>=0)
{
System.out.print("true");
}
}
}
用Indexof()不存在返回-1
------解决方案--------------------刚刚看到网页制作敏感词,你可以参考一下,做一个词库,设定好级别,然后写个东西检查一下就行了,正则感觉挺好用的
------解决方案--------------------matches是一个静态方法,使用类名.方法名进行调用
Pattern.matches(String regex, CharSequence input)
它的内部实现是:
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
return m.matches();
如果一个同样的正则你想使用多次,就可以分开写,这样能节省创建对象的开销
Pattern p = Pattern.compile(regex);
//可能是一个循环体...
for(int i = 0; i < 10000; i++){
Matcher m = p.matcher(input);
}
正则表达式后面可以直接加上
?i表示忽略大小写
?g全局模式
?m多行模式
例如:
Pattern.matches("a?i", "aA")
------解决方案--------------------
Arrays.asList(array).contains(string)