可以使用Java中的正则表达式和Matcher类来判断某个字符串中是否包含某个字符串列表中的元素。

首先,需要将字符串列表中的元素合并成一个正则表达式,使用"|"符号表示或。然后,使用Pattern类的compile方法编译正则表达式,并使用Matcher类的find方法在目标字符串中查找匹配的子串。

下面是一个示例代码:

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        List<String> stringList = new ArrayList<>();
        stringList.add("apple");
        stringList.add("banana");
        stringList.add("orange");

        String targetString = "I like apples and oranges.";

        // 将字符串列表中的元素合并成一个正则表达式
        StringBuilder regexBuilder = new StringBuilder();
        for (String str : stringList) {
            regexBuilder.append(str).append("|");
        }
        // 去除最后一个多余的"|"
        regexBuilder.deleteCharAt(regexBuilder.length() - 1);

        // 编译正则表达式
        Pattern pattern = Pattern.compile(regexBuilder.toString());
        // 在目标字符串中查找匹配的子串
        Matcher matcher = pattern.matcher(targetString);
        
        // 判断是否找到匹配的子串
        if (matcher.find()) {
            System.out.println("目标字符串中包含列表中的元素");
        } else {
            System.out.println("目标字符串中不包含列表中的元素");
        }
    }
}

运行上述代码,输出结果为:"目标字符串中包含列表中的元素"

java中利用正则判断某个字符串中是否包含某个字符串list中的元素

原文地址: http://www.cveoy.top/t/topic/hMrz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录