2015-02-11 71 views
-2

這是我的代碼。這是一個類,它傳遞一個字符串作爲參數在這種情況下「苔蘚25」的方法。我的問題是,爲什麼被註釋掉的方法部分不能正常工作,即沒有被分割,但未被註釋掉的部分分裂得很好。我假設這是因爲我的if語句沒有被評估爲true。.contains()方法的計算結果是什麼?

我錯過了什麼?

類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); 

} 

}

回答

2

String.contains不使用正則表達式。

由於您的字符串不包含\後跟s後跟+,它將返回false。然後,由於它返回false,你的代碼不會嘗試拆分字符串。

+0

好吧如何檢查字符串中的空格字符呢?我在想,\\意思是空白。 – Stevenfowler16 2015-02-11 02:52:22

+0

Andd解決了。我一直試圖弄清楚這一點,並且在詢問後我找到了答案。謝謝 – Stevenfowler16 2015-02-11 02:59:09

相關問題