Java 搜索子字符串的数组列表
假设我有一个带有名称的数组列表,名称存储如下Java 搜索子字符串的数组列表,java,Java,假设我有一个带有名称的数组列表,名称存储如下 John(2), Bob(anytext), Rick 我试图遍历我的数组列表,检查是否存在基本错误,只需将后面的字符串的其余部分作为字符串返回,如果没有,则返回null。我见过做类似事情的方法,但如果它找到了将要检查的字符串传递给执行以下操作的方法,我似乎找不到只返回字符串其余部分的方法: if(str.contains("(")){ return str.substring(st
John(2),
Bob(anytext),
Rick
我试图遍历我的数组列表,检查是否存在基本错误,只需将后面的字符串的其余部分作为字符串返回,如果没有,则返回null。我见过做类似事情的方法,但如果它找到了将要检查的字符串传递给执行以下操作的方法,我似乎找不到只返回字符串其余部分的方法:
if(str.contains("(")){
return str.substring(str.indexOf("("));
}else{
return null;
}
Java8版本
List<String> list = Arrays.asList("John(2)", "Bob(anytext)", "Rick");
String result = list.stream()
.filter(x -> x.contains("("))
.findFirst()
.map(x -> x.substring(x.indexOf("(")))
.orElse(null);
Matcher怎么样,或者使用indexOf和substring?您表示名称值的方式很奇怪。您尝试过的代码在哪里?我以前从未见过Matcher。让我试试。可能是重复的
List<String> list = Arrays.asList("John(2)", "Bob(anytext)", "Rick");
String result = list.stream()
.filter(x -> x.contains("("))
.findFirst()
.map(x -> x.substring(x.indexOf("(")))
.orElse(null);