搜索子串的数组列表

时间:2017-02-03 17:15:47

标签: java

假设我有一个带有名称的数组列表,名称就像这样存储......

    John(2), 
    Bob(anytext), 
    Rick

我正在尝试迭代我的数组列表并检查“(”基本上只是接受它后面的其余字符串并将其作为字符串返回,如果没有则返回null。我已经看到了要做的方法类似的东西,但我似乎找不到只返回字符串的其余部分,如果它找到“(”

3 个答案:

答案 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);