0 0

文章关键词替换求思路?5

关键词替换思路:

1.文章通过luence的分词将关键词作为词典分词,然后后获取文章中含有的关键词及其位子;

2.如下代码处理:

不替换在标签[url][/url]中内容;

 

public String mark(List<Word> list, String str) {//list为分词后获得的关键词
		if(CollectionUtil.isNotEmpty(list) && StringUtil.isNotEmpty(str)) {
			Map<String, String> disease = keywordDao.getMap(list);//从数据库中获取关键词及其对应的链接
			StringBuilder builder = new StringBuilder();
			int start = 0;
			int head = 0;
			int tail = 0;
			for(Word word : list) {
				if(word.getStr().equals("[url]")) {
					head ++;
				}
				if(word.getStr().equals("[/url]")) {
					tail ++;
				}
				if(head == tail && word != null && StringUtil.isNotEmpty(word.getStr()) && StringUtil.isNotEmpty(disease.get(word.getStr().trim()))) {
					builder.append(str.substring(start, word.getStart()));
					builder.append("[url]<a class=\"icon-tag tag-disease\" href=\"http://www.test.cn/disease/");
					builder.append(disease.get(word.getStr().trim()));
					builder.append("\">");
					builder.append(word.getStr());
					builder.append("</a>[/url]");
					start = word.getEnd();
				}
			}
			if(start < str.length()) {
				builder.append(str.substring(start, str.length()));
			}
			return builder.toString();
		}
		return str;
	}

 这种方法貌似效率不是很高,有没有办法或者其他有什么可以改进的地方?

2012年9月04日 14:41

1个答案 按时间排序 按投票排序

0 0

首先把 str ---->StringBuilder。

可以通过StringBuilder API  直接在底层数组上操作
delete(int start, int end)
insert(int offset, boolean b)

2012年9月04日 17:47

相关推荐

    文章中关键词加链接的思路和php的实现

    我们可以创建一个函数,接收文章内容、关键词列表和链接目标作为参数,然后遍历文章,将关键词替换为HTML的`&lt;a&gt;`标签。 以下是一个简单的PHP示例代码片段,演示了如何将关键词链接化: ```php function keyword_...

    php实现文章中关键词加链接的功能

    一般在文章展示的时候,都会将其中的关键词加上链接,增加网站的粘合性。咋一想挺简单的,直接替换字符串不就行了。可细细想来,还是有不少问题。具体思路参考这篇文章:...

    文章生成系统asp编写的

    【描述】"简易文章生成系统 生产静态的文章 asp语言编写"揭示了这个系统的主要功能和设计思路。简易文章生成系统通常是为了自动化生成和管理网站内容而设计的,它可以减少手动输入和更新文章的工作量。这里的“生产...

    基于Hopfield神经网络的文本认证与同义词替换的可恢复水印算法.pdf

    《基于Hopfield神经网络的文本认证与同义词替换的可恢复水印算法》这篇文章探讨了一种创新的文本处理技术,结合了Hopfield神经网络和同义词替换策略,用于解决文本认证和篡改检测的问题。 Hopfield神经网络,作为一...

    百度笔试题目以及思路

    3. **关键词替换**: - 这个问题涉及到大规模数据处理和映射替换。一种可行的方法是使用哈希表(HashMap或Dictionary)将关键词映射到其ID。首先,读取文件B构建哈希表,然后遍历文件A,使用哈希表查找关键词ID并...

    高中语文阅读题答题思路和技巧性问题.doc

    - 提炼要点和关键词:如果找不到中心句,应提取重要信息进行整合。 - 辨认相关性:分析段落间的关系,理解整体内容。 - 接头接尾法:抓住文章开头和结尾的线索,构建整体概括。 二、归纳中心意思题 1. 方法: ...

    基于jquery的给文章加入关键字链接

    开始技术部门打算在后台添加或者修改文章的时候,把文章里面的关键字替换为标签。但是这样就出现一些问题 如果新添加一个关键字,是不是所有的文章又要重新过滤一边。把新关键字替换掉。 如果修改了关键字的名字或者...

    C#实现文章添加内链的方法

    方法内部使用了`Regex.Replace`函数,通过回调函数处理每个匹配项,将关键词替换为超链接。这种方法会检查每个关键词是否已经被替换,以避免重复处理。 **方法二:** 这种方法与第一种略有不同,其设计思路是一键...

    考研英语阅读十大解题思路,八大宏观阅读技巧,五大微观阅读技巧总结(想拿40满分必看)

    微观阅读技巧侧重于细节理解和分析,如关键词定位、同义词替换、逻辑关系判断等。这些技巧对于解答细节题、词汇题等尤其重要。 ### 结合技巧与思路实践 将上述解题思路和阅读技巧相结合,通过大量练习,逐步提高...

    易语言源码垃圾文章生成器易语言源码.rar

    垃圾文章生成器通常采用两种技术:一是基于模板的生成方式,通过随机替换模板中的关键词和短语来产生文章;二是基于自然语言处理的算法,如词嵌入和语言模型,利用机器学习技术生成看似通顺但实际意义不明确的文本。...

    软文撰写技巧总结.doc

    1. 设计思路:标题应吸引人,引发好奇心,同时准确反映文章主题。 2. 标题类型:可以采用疑问式、陈述式、对比式等,根据目标受众喜好定制。 3. 创新与独特:避免过于常见的标题,力求新颖独特。 四、正文撰写 1. ...

    基于反函数微分法则的“反函积分法”的探讨

    文章通过实例演示了如何使用这种新积分方法,并说明了这种方法可以视为变量代换法的一种补充,它在选择代换函数时提供了新的思路。 为深入理解文章内容,我们需要从几个方面来详细阐述相关知识点: 1. 反函数微分...

    基于Word2vec的自然语言隐写分析方法1

    关键词包括自然语言、词向量、同义词替换、隐写分析和上下文合适度,这表明本文的重点在于研究如何利用自然语言处理技术,特别是Word2vec的词向量表示,来改进对同义词替换隐写术的检测能力,以及考虑上下文信息对...

    高考英语作文常用连接词.ppt

    - 使用适当的连接词,如"首先"、"其次"、"此外"、"然而"、"因此"等,可以使文章的思路更连贯。例如,对比关系可以用"while"、"on the other hand",因果关系可用"because"、"therefore"。 4. **高级词汇与复杂句型...

    基于智能手机APP下的高等学校英语应用能力考试阅读理解部分能力培养策略.pdf

    注意命题人的出题技巧,如简化语言、肯定与否定的转换、替换关键词等。 4. **作者态度观点**:理解作者态度是较高层次的阅读技能,要求学生全面理解全文,捕捉作者的语气和立场。这需要对文章的细微差别有敏锐的...

    【考试阅读理解技巧】六级.docx

    2. 猜词题:可从上下文中寻找同义词或使用代入替换法。 3. 句子理解题:分析出题句的语法、句法和词法,重点在句子本身,而非上下文。 总的来说,提升六级阅读理解分数的关键在于持续积累词汇,理解和熟练运用各种...

    93分英语达人的阅读笔记

    一、考研阅读的基本解题思路: 1. 扫描提干,划关键项:这是初步了解题目要求的关键步骤,通过识别关键词,快速理解题目意图。 2. 通读全文,抓住中心:首先,快速阅读文章首段,因为中心句或核心概念往往在此处;...

    考研阅读,英语经验,很详细,很有用,考研阅读

    首先,考研阅读的【基本解题思路】可以概括为四步: 1. **扫描提干,划关键项**:在阅读题目前,先快速浏览题干,划出关键词,这有助于后续的定位和理解。 2. **通读全文,抓住中心**:快速阅读全文,尤其关注首段和...

Global site tag (gtag.js) - Google Analytics