2

这与过滤坏词无关,所以请进入。假设您有一个名为 abcd、abcde、abcdef、abfg、abdc 的字符串列表,如果用户在 ConsoleProgram 中将字符串 abc 作为过滤器,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()- 当字符串包含给定的字符序列时返回 true,请参见string-javadoc

于 2013-04-20T15:01:23.340 回答