說我有在Java中像這樣的字符串:如何檢查一個字符串是否包含包含空格的子字符串?
「這是我的{字符串:} OK」
注意,可以有任意數量的各種人物之間的白色空間的。如何檢查上面的字符串,看它是否只包含子:
「{我的字符串:}」
非常感謝!
說我有在Java中像這樣的字符串:如何檢查一個字符串是否包含包含空格的子字符串?
「這是我的{字符串:} OK」
注意,可以有任意數量的各種人物之間的白色空間的。如何檢查上面的字符串,看它是否只包含子:
「{我的字符串:}」
非常感謝!
把一切擺成一個字符串變量,說S,然後做s.contains(「{我的字符串:});如果{我的字符串:}這將返回true屬於S
如果你是。想看看是否一個字符串包含的字符的另一個特定的順序,那麼你可以做這樣的事情:
String stringToTest = "blah blah blah";
if(stringToTest.contains("blah")){
return true;
}
你也可以用火柴有關字符串匹配一個體面的解釋,我建議你檢查出了Java的Oracle教程對於正則表達式:
http://docs.oracle.com/javase/tutorial/essential/regex/index.html個
乾杯,
傑米
爲此,你需要使用String#contains(CharSequence)
。
請注意,各種 字符之間可以有任意數量的空白。
爲此目的String#trim()
方法用於返回字符串的副本,省略前導和尾隨空白。
對於如:
String myStr = "this is {my string: } ok";
if (myStr.trim().contains("{my string: }")) {
//Do something.
}
如果您有任何數量的匹配字符串的每個字符之間的空白,我想你最好從您嘗試之前,以匹配字符串中刪除所有空格搜索。即:
String searchedString = "this is {my string: } ok";
String stringToMatch = "{my string: }";
boolean foundMatch = searchedString.replaceAll(" ", "").contains(stringToMatch.replaceAll(" ",""));
最簡單的做法是從兩個字符串中去掉所有的空格。
return stringToSearch.replaceAll("\s", "").contains(
stringToFind.replaceAll("\s", ""));
查找正則表達式
\{\s*my\s+string:\s*\}
此匹配包含
在哪裏 '空間' 在這裏是指任何空白(製表符,空格,換行,CR)
的空間是一個紅鯡魚 - 它們就像任何其他角色一樣對待,對任何正常的子字符串搜索功能都沒有影響 – Alnitak