java - 在java中的数组中搜索包含字符串的字符串
问题描述
考虑下面的字符串数组:
String[] items = new String[] {"Dani","Liam", "Noah" , "Elijah" , "Emma", "Ava Olivia"};
我想在这个数组中搜索。作为一个例子,我想找到所有以D开头或里面有一个D的项目。
当我搜索E时,结果必须是{"Elijah","Emma"}
,当我搜索Em时,以利亚将删除,结果必须是{"Emma"}
。
当我搜索Olivia时,结果必须是{"Ava Olivia"}
。
我试图用空格分割数组并将所有单词保存在二维数组中,然后我可以检查每个单词的第一个字母。我的方式有一些错误。
感谢所有建议。
PS :请注意,我正在开发一个需要此功能的 android 应用程序。
解决方案
一种方法使用带有过滤逻辑的流:
String[] items = new String[] {"Dani","Liam", "Noah" , "Elijah" , "Emma", "Ava Olivia"};
List<String> matches = Arrays.stream(items)
.filter(i -> i.startsWith("Em"))
.collect(Collectors.toList());
您可以在对 的调用中应用您想要的任何过滤逻辑filter(...)
。
推荐阅读
- xml - 使用 PL/SQL 删除部分 XML
- javascript - JS:不要在有条件的情况下为地图添加价值
- perl - 无法在 Linux 上使用 cpan/cpanm 安装 Net::Pcap
- c# - Bullet Prefab 向玩家面对的相同方向射击
- html - 如何打开带有标签a的图像?
- javascript - 从另一个 Stencil JS 库导入 Stencil JS 库
- javascript - 如何在 TypeScript 中使用“then”?
- scala - 在 Spark 中拆分列并将空值转换为 null
- python - SQL 初学者 - SQLite 与 INTERVAL
- r - R 特征的测量单位