今天我是想檢測一個字符串包含一個點,但我的代碼是不能工作檢查如果字符串包含一個點
String s = "test.test";
if(s.contains("\\.")) {
System.out.printLn("string contains dot");
}
今天我是想檢測一個字符串包含一個點,但我的代碼是不能工作檢查如果字符串包含一個點
String s = "test.test";
if(s.contains("\\.")) {
System.out.printLn("string contains dot");
}
String類的方法沒有考慮正則表達式作爲一個參數,它需要正常的文本。
String s = "test.test";
if(s.contains("."))
{
System.out.println("string contains dot");
}
String#contains
接收普通CharacterSequence
例如一個String
,而不是一個正則表達式。從那裏刪除\\
。
String s = "test.test";
if (s.contains(".")) {
System.out.println("string contains dot");
}
你只需要
s.contains (".");
有時你需要找到一個字符,並用它做什麼,類似的檢查也可以使用.indexOf('.')
來完成,例如:
"Mr. Anderson".indexOf('.'); // will return 2
該方法將返回的索引位置點,如果該字符不存在,該方法將返回-1,您可以稍後對此進行檢查。
if ((index = str.indexOf('.'))>-1) { .. do something with index.. }
試試這個,
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");
}
}
有同樣的問題,給予好評 –
這不是一個正則表達式,一個簡單的字符串。使用 」。」只要 – YMomb