我的.contains()方法评估的是什么?

时间:2015-02-11 02:40:26

标签: java string-split

这是我的代码。这是一个传递字符串作为参数的类的方法,在本例中为“moss 25”。我的问题是为什么被注释掉的方法部分不起作用,即不分裂,但未注释掉的部分完全分裂。我假设这是因为我的if语句没有被评估为true。

我错过了什么?

类StringFormatter {

public void lineRead(String br)
{


   /* String reader = br;
    String delimiters = "\\s+";
    if(reader.contains(delimiters))
        {
            String[] parts = reader.split(delimiters);
            String part1 = parts[0];
            String part2 = parts[1];

            System.out.println(part1);
            System.out.println(part2);


        }
    else
     System.out.println(reader);
    */



     String reader = br;
     String delimiters = "\\s+";
     String[] parts = reader.split(delimiters);
     String part1 = parts[0];
     String part2 = parts[1];

     System.out.println(part1);
     System.out.println(part2);

}

}

1 个答案:

答案 0 :(得分:2)

String.contains不使用正则表达式。

由于您的字符串不包含\后跟s后跟+,因此返回false。然后,由于它返回false,您的代码不会尝试拆分字符串。