假设我有一个带有名称的数组列表,名称就像这样存储......
John(2),
Bob(anytext),
Rick
我正在尝试迭代我的数组列表并检查“(”基本上只是接受它后面的其余字符串并将其作为字符串返回,如果没有则返回null。我已经看到了要做的方法类似的东西,但我似乎找不到只返回字符串的其余部分,如果它找到“(”
答案 0 :(得分:1)
for(int i=0; i<list.size(); i++) {
String s = list.get(i);
int x = s.indexOf('(');
if(x==-1) break;
return s.substring(x+1);
}
答案 1 :(得分:0)
将要检查的字符串传递给执行以下操作的方法:
if(str.contains("(")){
return str.substring(str.indexOf("("));
}else{
return null;
}
答案 2 :(得分:0)
Java 8版
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);