java 字符串是否包含字符串_在Java中,如何检查字符串是否包含子字符串(忽略大小写)?...
我也贊成RegEx解決方案。 代碼會更清晰。 在我知道字符串變得很大的情況下,我會毫不猶豫地使用toLowerCase(),因為字符串是不可變的并且必須被復制。 此外,matches()解決方案可能會令人困惑,因為它將正則表達式作為參數(搜索“Need $ le”冷卻有問題)。
基于上面的一些例子:
public boolean containsIgnoreCase( String haystack, String needle ) {
if(needle.equals(""))
return true;
if(haystack == null || needle == null || haystack .equals(""))
return false;
Pattern p = Pattern.compile(needle,Pattern.CASE_INSENSITIVE+Pattern.LITERAL);
Matcher m = p.matcher(haystack);
return m.find();
}
example call:
String needle = "Need$le";
String haystack = "This is a haystack that might have a need$le in it.";
if( containsIgnoreCase( haystack, needle) ) {
System.out.println( "Found " + needle + " within " + haystack + "." );
}
(注意:根據您的需要,您可能希望以不同的方式處理NULL和空字符串。我認為我的方式更接近字符串的Java規范。)
速度關鍵解決方案可以包括通過字符迭代干草堆字符尋找針的第一個字符。 當第一個字符匹配時(不區分大小寫),開始逐個字符地迭代針,在大海撈針中查找相應的字符,如果所有字符都匹配則返回“true”。 如果遇到不匹配的字符,則通過下一個字符的haystack繼續迭代,如果位置>則返回“false”。 haystack.length() - 達到了needle.length()。
總結
以上是生活随笔為你收集整理的java 字符串是否包含字符串_在Java中,如何检查字符串是否包含子字符串(忽略大小写)?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: axure文本框提示文字_Axure教程
- 下一篇: 吉比特java开发_JVM 吉比特后台