21xrx.com
2024-11-25 14:05:53 Monday
登录
文章检索 我的文章 写文章
如何实现 Java 代码中的模糊查询
2023-06-15 17:51:04 深夜i     --     --
Java 模糊查询 contains() 正则表达式

在 Java 开发中,模糊查询是常用的一种查询方式。它可以在查询的字符串中使用通配符(如 %)来匹配多个字符,使得查询更加灵活和精确。

实现模糊查询可以使用 SQL 中的 LIKE 关键字,但在 Java 中也有自己的实现方式。下面,我们介绍两种常用的方法。

1. 使用字符串的 contains() 方法进行查询

Java 中的 String 类有一个 contains() 方法,可以检查一个字符串中是否包含另一个字符串。我们可以在查询的时候,将查询条件作为参数传入 contains() 方法,从而实现模糊查询。

例如,我们要查询一个列表中所有包含“java”字符串的元素,代码如下:


List list = Arrays.asList("Java", "Python", "C++", "JavaScript");

String keyword = "java";

List result = list.stream()

  .filter(s -> s.toLowerCase().contains(keyword.toLowerCase()))

  .collect(Collectors.toList());

System.out.println(result);

该代码首先定义了一个包含多个字符串的列表 list,然后定义了一个查询条件 keyword,即要查询包含“java”字符串的元素。使用 stream() 方法将 list 转换成流,然后使用 filter() 方法过滤掉不包含查询条件的元素,最后使用 collect() 方法将结果收集成一个新的列表 result。

2. 使用正则表达式进行查询

另一种实现模糊查询的方式是使用正则表达式。Java 中的正则表达式匹配功能非常强大,可以实现各种复杂的匹配操作。

假设我们要查询一个字符串是否包含“java”(不区分大小写),代码如下:


String str = "Java is a programming language";

String pattern = "(?i).*java.*";

boolean match = Pattern.matches(pattern, str);

System.out.println(match);

该代码首先定义了一个字符串 str 和一个正则表达式 pattern,该正则表达式表示“匹配任何包含‘java’字符串的文本,不区分大小写”。然后使用 Pattern 类的 matches() 方法进行匹配,最后输出匹配结果。

本文介绍了 Java 中实现模糊查询的两种常用方法:使用字符串的 contains() 方法和使用正则表达式。这两种方法分别适用于不同的场景,开发者可以根据实际情况选择使用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复