2015-08-23 78 views
3

今天我是想檢測一個字符串包含一個點,但我的代碼是不能工作檢查如果字符串包含一個點

String s = "test.test"; 
if(s.contains("\\.")) { 
    System.out.printLn("string contains dot"); 
} 
+0

有同樣的問題,給予好評 –

+0

這不是一個正則表達式,一個簡單的字符串。使用 」。」只要 – YMomb

回答

6

String類的方法沒有考慮正則表達式作爲一個參數,它需要正常的文本。

String s = "test.test"; 

if(s.contains(".")) 
{ 
    System.out.println("string contains dot"); 
} 
11

String#contains接收普通CharacterSequence例如一個String,而不是一個正則表達式。從那裏刪除\\

String s = "test.test"; 
if (s.contains(".")) { 
    System.out.println("string contains dot"); 
} 
2

你只需要

s.contains ("."); 
0

有時你需要找到一個字符,並用它做什麼,類似的檢查也可以使用.indexOf('.')來完成,例如:

"Mr. Anderson".indexOf('.'); // will return 2 

該方法將返回的索引位置點,如果該字符不存在,該方法將返回-1,您可以稍後對此進行檢查。

if ((index = str.indexOf('.'))>-1) { .. do something with index.. } 
0

試試這個,

String k="test.test"; 
    String pattern="\\."; 
    Pattern p=Pattern.compile(pattern); 
    Matcher m=p.matcher(k); 
    if(m.find()){ 
     System.out.println("Contains a dot"); 
    } 
} 
相關問題