Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 搜索子字符串的数组列表_Java - Fatal编程技术网

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