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

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

分析:可以简单的进行字符串扫描,对每一个关键字进行匹配,开始位置为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://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
【排序算法】python之冒泡,选择,插入,快速,归并
参考资料: 《Python实现5大排序算法》《六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序
一些Python爬虫工具
爬虫可以简单分为三步骤:请求数据、解析数据和存储数据 。主要的一些工具如下:request一个阻塞式http请求库。SeleniumSelenium
[Web逆向]记一个有趣的防红网站反复横跳
(也没有什么可以多级标题的就直接不分了吧)起因朋友给我发了个网址兴冲冲的打开,结果跳转了好几次,是一个视频。。。emmm算了
【工作笔记0033】Fiddler抓包手机app配置
1.下载安装fiddler https://www.telerik.com/download/fiddler 2.pc端fiddler设置,勾选以下设置 Tool-Options-HttpsTool-
万能自动点击器连点器分享版最新版内容简介
万能自动点击器连点器是一款好用的系统工具,万能自动点击器连点器分享版最新版完全不需要手机root,快来万能自动点击器连点器脚
《P2P种子搜索器》v3.0.0.0官方版
  p2p种子搜索器是一款很好的种子搜索神器,而今天小编要为大家带来的就是p2p种子搜索器官方下载。p2p种子搜索器资源覆盖面涉
《鬼泣3》经典怪物盘点
《鬼泣》系列中怪物的设计在众多游戏中都是非常有特色的,其中一些经典的怪物在老玩家脑海中记忆深刻,《鬼泣3》中的怪物更是为
【理论学习】以科技创新培育和发展新质生产力
  内容提要  科技创新是发展新质生产力的核心要素。我国发展新质生产力具有科技创新的坚实基础。要以科技创新引领产业创新,
【原】五大海外代理机构盘点
Highrise:无处不存在导入导出功能的CRM美国37signals公司开发的一款简单的客户关系管理软件。37signals曾被《连线》杂志评出200
《哥斯拉大战金刚2》一些幕后
“ 感知技术 · 感触CG · 感受艺术 · 感悟心灵 ”中国很有影响力影视特效CG动画领域自媒体叮咚!您最爱的怪兽顶流回归,请查收
相关文章