2017-02-03 164 views
0

让说,我有名字和名称的数组列表存储这样的...搜索字符串数组列表

John(2), 
    Bob(anytext), 
    Rick 

我想遍历我的数组列表,并检查“(”基本上只是把它的字符串的其余部分,作为一个字符串返回,如果什么都没有,返回null我已经看到方法做类似的事情,但我似乎无法找到的东西只是返回字符串的其余部分如果它发现“(”

+4

怎么样匹配器,或者使用的indexOf和子? –

+0

您代表名称值的方式颇为怪异。 – davidxxx

+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); 
} 
0

将要检查的字符串传递给执行如下操作的方法:

 if(str.contains("(")){ 
      return str.substring(str.indexOf("(")); 
     }else{ 
      return null; 
     } 
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);