2

ユーザーがConsoleProgram abcd、abcdeおよびabcdefのフィルターとして文字列abcを指定した場合、abcd、abcde、abcdef、abfg、abdcという名前の文字列のリストがあると想像してくださいabcd、abcdeおよびabcdefが出力されます。部分文字列を使用することを考えましたが、達成できませんでした..私はJavaが初めてで、有能ではないことに注意してください。

4

4 に答える 4

3

あなたが最初に必要とすることは、おそらくここで文字列正規表現について学ぶことです: http://docs.oracle.com/javase/tutorial/essential/regex/。次の単純なコードを試してください。

public class StringMatcher {

    public static void main(String[] args) {
        String[] words = new String[]{"abcd", "abcde", "abcdef", "abfg", "abdc"};
        String filter = "abc";

        for (String word : words) {
            if (word.matches(filter + "(.*)")) {
                System.out.println("This pass the filter: " + word);
            }
        }
    }
}
于 2013-04-20T15:12:51.540 に答える
1

これを試してください: リスト内の項目にユーザーが入力した文字列が含まれている場合、それは印刷されます。

input = "abc";
for(int i = 0 ; i < list.size(); i++){
  if (list.get(i).contains(input))
    System.out.println(list.get(i));
}
于 2013-04-20T15:02:12.803 に答える
1

文字列が wordBank という ArrayList にあるとします。

for(String i : wordBank) { //loops through the array with 'i' being current index
    if(i.contains("abc")) { //checks if index contains filter String
        System.out.println(i); //prints out index if filter String is present
    }
}
于 2013-04-20T15:02:51.677 に答える
0

使用String.contains()- 文字列に指定された char シーケンスが含まれている場合に true を返します。string-javadocを参照してください

于 2013-04-20T15:01:23.340 に答える