如何在 Java 的 ArrayList 中使用模式以特定方式处理数据?

How can I use patterns to process data in a specific way in ArrayList in Java?

我的数组列表中有几个字符串,其中一些以 特定前缀 开头 - 例如 ("AFI")。我想从数组列表中 删除 这些字符串。其他字符串包含 两个以上的词 ,例如 ("Edit this template")。我也想删除它们,以及只包含一个单词.

的字符串

我知道我应该使用模式,但找不到我应该使用的确切内容。如果你能帮我解决这个问题,我会很高兴。

您可以将 List#removeIf 与符合您的规则的谓词一起使用。假设你有这样的事情:

List<String> myList = new ArrayList<>();
myList.add("AFIxyz boo");
myList.add("Foo Bar");
myList.add("Bar Baz");
myList.add("AFI afi");
myList.add("Edit this template");
myList.add("Watch");

System.out.println("Before removing:");
System.out.println(myList);

//remove all which start with "AFI"
myList.removeIf(s -> s.startsWith("AFI"));

//remove all which have more than two words
myList.removeIf(s -> s.split(" ").length > 2);

System.out.println("\nAfter removing:");
System.out.println(myList);