过滤字符串出错了

时间:2016-03-16 06:56:44

标签: java string if-statement

考虑我们有以下字符串集:

String text="Geeraertsb,∗,1";
String text2="bla bla";
String text3="in terms of &#1";

我想获得那些不包含&和/或" *"的字符串。所以这意味着只有`text2"感兴趣。

但是,如果我使用:

if(!text.contains("*"))
{
    //do something
}

if(!text3.contains("&"))
{
    //do something
}

确实输入了if语句,但不应该输入each语句。知道为什么吗?

2 个答案:

答案 0 :(得分:1)

您正在使用不同的字符

不等于*

您可能需要检查是否为String个对象和条件使用了相同的字符集。

答案 1 :(得分:0)

您可以尝试这样:

Pattern mypat = Pattern.compile("[^a-z ]", Pattern.CASE_INSENSITIVE);
Matcher mat = mypat.matcher("Geeraertsb,∗,1");
boolean found = mat.find();

if (found)
{
   //code
}

上面的代码使用正则表达式方法,您尝试检查字符串是否包含除字母表之外的任何内容。