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

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

分析:可以简单的进行字符串扫描,对每一个关键字进行匹配,开始位置为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://sjzytwl.xhstdz.com/xwnews/527.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://mip.xhstdz.com/ , 查看更多   
最新文章
《方舟生存进化》手机版为什么进不去 方舟手游进不去怎么办方舟手机版「《方舟生存进化》手机版为什么进不去 方舟手游进不去怎么办」
手机版有时候会出现游戏无法进入,这边来看看方舟生存进化手机版进不去怎么办?方舟生存进化手机版进不去解决办法。1.服务器维护
OPPO Find X8亮相,流畅度与性能全面突破,不容错过!x8手机「OPPO Find X8亮相,流畅度与性能全面突破,不容错过!」
在智能手机市场日新月异的背景下,OPPO在2024年牛角尖颁奖盛典上推出了其最新旗舰手机——OPPO Find X8。这款设备凭借流畅度和性
BeatsStudio3Wireless使用说明-使用技巧beats蓝牙耳机怎么连接手机「BeatsStudio3Wireless使用说明-使用技巧」
BeatsStudio3Wireless是一款非常热门的头戴式蓝牙耳机,不管是听音乐还是打游戏都能带给用户更出色的音质体验,同时可以根据个人
“LOL愚人节活动不愚人”火了,每人1000枚骰子,永久皮肤免费送
前言:S15赛季的比赛已经正式开始了,相信绝大多数的玩家都关注了最近一段时间的对抗,Lpl赛区的比赛进行的是比较激烈的,十支战
moto razr 40 Ultra正式发布 3999元起售开启小折叠大屏幕普及风暴摩托罗拉折叠手机「moto razr 40 Ultra正式发布 3999元起售开启小折叠大屏幕普及风暴」
2023年6月1日,联想召开"心动,何止一面"moto razr 40系列折叠屏手机新品发布会。moto razr 40 Ultra与moto razr 40两款重磅小折
2025年退休的人员,请务必关注这些问题申请手机号「2025年退休的人员,请务必关注这些问题」
新的一年即将来临,即将在2025年办理企业职工基本养老保险退休手续的人员,为确保您在达龄时快速办理退休手续,尽快领到退休后的
TVB离巢女星二婚老公曝收入,从事保险行业九年,长相不输圈中人
未经授权严禁转载,发现抄袭者将进行全网投诉TVB离巢女星梁靖琪近年虽然淡出圈,但是偶尔也会参演一些剧集,这些作品几乎都是由
晶莹如玉 步步高音乐手机i269步步高音乐手机「晶莹如玉 步步高音乐手机i269」
近日,主打的公司推出了一款时尚新机——i269,它采用了现在流行的白色机身,并且还搭配与同色的,时尚的外型配合出众的音质,
vivo手机的通用在哪里苹果手机省电模式在哪「vivo手机的通用在哪里」
对于许多vivo手机用户来说,寻找手机设置中的“通用”选项可能是一个令人困惑的问题。实际上,vivo手机并没有一个直接标注为“通
2024植物大战僵尸1正版最新版植物大战僵尸1手机版「2024植物大战僵尸1正版最新版」
广西北海电信 - 网友 发表于: 2023-11-18 11:51:43游戏非常好玩,植物和僵尸的种类很多 河南商丘 客人2020/7/11 14:20:58 666居