2012-03-22 12 views
1

"abc" "bcd" "xyz"などの文字列リスト と文字列 "xyzxxxxxxxxx"があり、リスト値が存在するかどうかを調べる必要があります文字列に指定された文字列に存在するリスト要素のいずれかを見つける

でC#を見つけることができます。 Javaには何か方法はありますか?

+0

をこれを行う方法。私は毎回全体のリストを繰り返す必要はありません – user1144819

+0

java containsAll(collection)にfuctionがありますcontainsAny()が必要です – user1144819

+0

'containsAll/containsAny'メソッドは内部的にリストをループします。あなたがあなたのためにそれをやる方法を探したり、あなた自身でそれを書く方法を探して時間を費やしても、結果は同じです:リストは反復されます= – Molske

答えて

0

ループ

C#のあなたのリストを通って、使用String.IndexOf

のJava String.indexOf

0

リストを反復処理し、string.contains(listelement)毎回呼び出すことができます。

1

私はそれが1行で可能であるとは思わないが、あなたのことができ、リストをループして、出現の位置を知りたい場合にもindexOf()を使用することができます.contains()

String[] listOfString = { "abc", "bcd", "xyz" }; 
String s = "xyzxxxxxxxxx"; 
for (String temp : listOfStrings) { 
    s.contains(temp); 
} 

を使用しています。

1

あなたはString.contains方法使って、大きな文字列内の部分文字列の存在を探すことができます:あなたはあなたの部分文字列のすべての上に、単にループとは、それぞれを確認することができ、あなたの特定の要件にそれを拡大するには

String needle = "abc"; 
String haystack = "xyzxxxxxxxxx"; 
if (haystack.contains(needle)) { 
    // react accordingly 
} 

をそれらの順番に。 (おそらく、一致が見つかった場合に何をしたいかによって早く短絡する可能性があります)。

1
public class Main { 
    public static void main(String[] args) { 
     String[] strings = new String[]{"abc", "dfg"}; 
     String ss = "abcd"; 
     for(String s : strings) { 
      System.out.println(ss + " contains " + s + ": " + ss.contains(s)); 
     } 
    } 
} 
1

これは、あなたが達成しようとしているものだろう例です。

public static void main(String[] args) { 
    List<String> list = Arrays.asList("abc","bcd", "xyz"); 
    String search = "xyzxxxxxxxxx"; 
    for (String s : list) { 
     if (search.contains(s)) { 
      System.out.println("Found " + s + " in " + search); 
     } 
    } 
} 
1

次のようなものを使用できます:私は最高のを探しています回答のためのみんなありがとう

String source = "xyzxxxxxxxxx"; 
List<String> strings = ...; 
for (int i = 0; i < string.size();i++) 
{ 
    if (source.contains(strings.get(i)) 
    { 
     System.out.println("Match found at " + (i + 1)); 
     break; 
    } 
} 
関連する問題