次のように宣言された文字列があります。 String strString="This is a test statement to find a sub sequence of string";
次のように、サブシーケンスを検索する String クラスにはメソッドがないようです。
ここで strString2 は strString のサブシーケンスですが、文字比較なしで見つける方法はありますか?
次のように宣言された文字列があります。 String strString="This is a test statement to find a sub sequence of string";
次のように、サブシーケンスを検索する String クラスにはメソッドがないようです。
ここで strString2 は strString のサブシーケンスですが、文字比較なしで見つける方法はありますか?
strString 内の strString2 の存在を確認する条件は次のとおりです。
strString.indexOf(strString2) >= 0
また
strString.contains(strString2)
を探していると思いますString#indexOf(String)
。文字列が見つかった場合は、文字列内の場所も表示されます。
String.contains(CharSequence s)
この文字列に指定された一連の char 値が含まれている場合にのみ、true を返します。
このようなことができます。
String strString="This is a test statement to find a sub sequence of string";
strString2="test ststement to find";
if(strString.contains(strString2)){
//Do something.
}
これを試すことができます:
string1.contains(string2);`
NullPointerException
if string2
isをスローすることに注意してくださいnull
。string2
比較を試みる前に、が null でないことを確認する必要があります。他の状況は、期待どおりに処理する必要があります。大文字と小文字を区別したくない場合は、 toLowerCase()
method とともに method を使用することもできます。contains()
string1.toLowerCase().contains(string2.toLowerCase())
また、古いバージョンの場合は、indexOf()
メソッドを使用できます。にない場合string2
はstring1
、indexOf
お渡しします-1
。ここでも、両方の文字列null
がNullPointerException
.