生活服务
java 查找关键字_java实现简单的关键字查找
2024-12-16 15:30  浏览:74

需求:从一个指定的字符串中,查找是否存在指定的关键字,有则将其按顺序找出。例如:从"我在开会,一会打电话,然后去吃饭" 查找是否含有 "教研"、"上课"、"开会"、"打电话"、"吃饭" ,结果是查找到"开会" "打电话" "吃饭"。

分析:可以简单的进行字符串扫描,对每一个关键字进行匹配,开始位置为0,扫描到则下次开始的位置加上字符串的长度。

代码如下

package cc.dc.test;

import java.util.ArrayList;

import java.util.List;

public class Test2 {

//记录找到的关键字

private static List keywordsList = new ArrayList();

public static void main(String[] args) {

//待查找的字符串

String content = "我在开会,一会打电话,然后去吃饭";

//搜索的关键字

String[] subStrings = {"打电话","开会","吃饭"};

getRemindString(content,subStrings);

for(String str:keywordsList){

System.out.print(str+"--");

}

}

private static void getRemindString(String content, String[] subStrings) {

int[] array = new int[content.length()];

for (int i = 0; i < array.length; i++) {

//默认设置为10000,最后判断不是10000的位置就是关键字

array[i] = 10000;

}

for (int j = 0; j < subStrings.length; j++) {

String findStr = subStrings[j];

// 待查找字符串的长度

int findLength = findStr.length();

for (int i = 0; i < content.length();) {

if ((findLength + i) <= content.length()

&& content.substring(i, findLength + i).equals(findStr)) {

// 查找到的位置

//System.out.println("find " + i + "--"+ content.substring(i, findLength + i));

//找到,则设置其在subStrings的位置

array[i] = j;

// 找到则下次查找的位置+字符长度

i += findLength;

} else {

// 没有找到则从下一个位置开始查找

i++;

}

if (i + findLength > content.length()) {

// 如果下一次查找的endIndex>str.length()则说明不可能再有该字符串了

break;

}

}

}

for (int i = 0; i < array.length; i++) {

//所有不是10000的位置都是查找到关键字的位置

if (array[i] != 10000) {

//System.out.println("--" + subStrings[array[i]] + "--");

keywordsList.add(subStrings[array[i]]);

}

}

}

}

结果如下

    以上就是本篇文章【java 查找关键字_java实现简单的关键字查找】的全部内容了,欢迎阅览 ! 文章地址:http://ktsh.xhstdz.com/xwnews/527.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://ktsh.xhstdz.com/mobile/ , 查看更多   
最新文章
MNN推理引擎:轻量级深度学习优化实践
随着手机算力的不断提升,以及深度学习的快速发展,特别是小网络模型不断成熟,原本在云端执行的推理预测就可以转移到端上来做。
分区类型MBR和GPT有什么区别|简述分区表MBR与GPT
磁盘分区,有两种类型可选,分别为MBR和GPT,但是很多用户在使用快速分区的时候,不知道这两个分区表类型有什么区别,这篇文章是
外链建设蓝图:提升 SEO 排名和网站权威
前言外链建设对于提升您的网站 SEO 排名和建立权威至关重要。通过采取战略性方法,您可以获得高质量的反向链接,这些反向链接将
360智脑2024最新版 v1.2.0
360智脑是一款AI智能软件,基于多模态大语言模型提供高效便捷的API接入服务,让AI触手可及,能够满足用户日常工作、生活、学习中
ai写作-ai写作免费一键生成
在信息爆炸的时代内容创作成为了多企业和个人关注的点。传统的人工写作方法耗时耗力效率低下。随着人工智能技术的发展写作逐渐走
Yoast SEO Premium插件下载,为你的网站实现卓越的SEO优化!
全面的关键词优化功能 Yoast SEO Premium插件提供了强大的关键词优化功能。它通过实时分析你的网页内容,提供关键词密度、
SEO优化在推广行业中的核心战略,企业腾飞的关键动力
SEO优化推广在当今企业竞争中扮演着关键角色。通过提升网站排名、提高搜索引擎曝光度,助力企业拓展市场份额,实现品牌影响力与
外贸独立站怎么样
外贸独立站是一个专注于网络贸易的网站。它可以在全球范围内推广您的产品和服务,作为您的公司的一个全球门户。它不仅可以增加
科幻电影《降临》解说文案/片源下载
这是继三体之后中国又一部走向世界的科幻小说在被改编成电影后于16年在威尼斯电影节上映横扫包括奥斯卡在内140多项各大奖项被各
阿里文娱宣布土豆全面转型短视频平台 何小鹏任总裁
【TechWeb报道】3月31日消息,阿里文娱今日宣布,土豆全面转型为短视频平台,由阿里巴巴文化娱乐集团移动事业群总裁何小鹏兼任总
相关文章