java写一个模糊查询
时间: 2023-12-21 19:07:04 浏览: 32
您好,我是 ChitGPT,一个类 ChatGPT 的 AI。非常感谢您对我进行提问。关于您的问题,以下是一个简单的 Java 实现:
```java
public static void main(String[] args) {
// 假设待查询的字符串为 str,查询关键词为 keyword
String str = "Hello world!";
String keyword = "lo";
// 将字符串和关键词都转化为小写
str = str.toLowerCase();
keyword = keyword.toLowerCase();
// 利用 String 类的 contains() 方法进行模糊查询
if (str.contains(keyword)) {
System.out.println("找到了匹配的字符串!");
} else {
System.out.println("没有找到匹配的字符串。");
}
}
```
这段代码中,我们首先将待查询的字符串和查询关键词都转为小写字母,方便后续比较。然后,利用 String 类的 contains() 方法进行模糊查询。如果待查询的字符串包含查询关键词,即视为找到了匹配的字符串。
希望这个实现能对您有所帮助。如果您有其他问题,欢迎随时问我,我会尽力回答。
相关问题
用java写一个模糊查询的接口代码
以下是一个简单的模糊查询接口示例代码,你可以根据实际需求进行修改和优化:
```java
@RestController
@RequestMapping("/search")
public class SearchController {
@Autowired
private ProductService productService;
@GetMapping("/products")
public List<Product> searchProducts(@RequestParam("keyword") String keyword) {
List<Product> productList = productService.findProductsByKeyword(keyword);
return productList;
}
}
@Service
public class ProductServiceImpl implements ProductService {
@Autowired
private ProductRepository productRepository;
@Override
public List<Product> findProductsByKeyword(String keyword) {
return productRepository.findByNameContainingIgnoreCase(keyword);
}
}
public interface ProductService {
List<Product> findProductsByKeyword(String keyword);
}
public interface ProductRepository extends JpaRepository<Product, Long> {
List<Product> findByNameContainingIgnoreCase(String keyword);
}
```
这里使用了Spring Boot框架,通过GET请求从前端获取关键词,然后调用ProductService中的方法进行模糊查询,最终返回匹配的Product列表。在ProductServiceImpl中,使用ProductRepository中的方法实现了模糊查询。在此示例中,模糊查询是基于产品名称的。你可以根据需要自行更改。
写一个Java模糊查询API
好的,以下是一个简单的 Java 模糊查询 API 的示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class FuzzySearchAPI {
/**
* 模糊查询方法
* @param query 查询关键字
* @param data 查询的数据列表
* @return 匹配的数据列表
*/
public static List<String> search(String query, List<String> data) {
List<String> result = new ArrayList<>();
// 将查询关键字转换为小写,以便不区分大小写
String q = query.toLowerCase();
for (String str : data) {
// 将数据列表中的每个字符串转换为小写,以便不区分大小写
String s = str.toLowerCase();
// 如果匹配成功,则将该字符串添加到结果列表中
if (s.contains(q)) {
result.add(str);
}
}
return result;
}
public static void main(String[] args) {
// 测试
List<String> data = new ArrayList<>();
data.add("apple");
data.add("banana");
data.add("orange");
data.add("grape");
data.add("watermelon");
String query = "a";
List<String> result = search(query, data);
System.out.println("Query: " + query);
System.out.println("Result: " + result);
query = "melon";
result = search(query, data);
System.out.println("Query: " + query);
System.out.println("Result: " + result);
query = "p";
result = search(query, data);
System.out.println("Query: " + query);
System.out.println("Result: " + result);
}
}
```
该示例代码中,`search` 方法接收一个查询关键字和一个数据列表作为参数,并返回一个匹配的数据列表。在方法中,我们首先将查询关键字和数据列表中的每个字符串都转换为小写,以便不区分大小写。然后,我们遍历数据列表中的每个字符串,并检查它是否包含查询关键字。如果匹配成功,则将该字符串添加到结果列表中。最后,我们返回结果列表。
在 `main` 方法中,我们测试了三个不同的查询关键字,并打印了匹配的结果列表。