java中利用正则判断某个字符串中是否包含某个字符串list中的元素
可以使用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("目标字符串中不包含列表中的元素");
}
}
}
运行上述代码,输出结果为:"目标字符串中包含列表中的元素"
原文地址: http://www.cveoy.top/t/topic/hMrz 著作权归作者所有。请勿转载和采集!