当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > 查找两段文本中相同的词句代码

查找两段文本中相同的词句代码

2012/10/22 19:09:34作者:佚名来源:网络

移动端

【实例名称】

查找两段文本中相同的词句

【实例描述】

 在网站的常用操作中,有时需要对比两段文本内容,找出其中的相同点和不同点。本例学习如何找出两段文本内容的相同点。

【实例代码】

 

<html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>标题页</title>     <SCRIPT LANGUAGE="JavaScript"> function compare(a, b, n) { var c=a.length>b.length?b:a; //减少循环 if(b==c) b=a; a=c; if(!n) n=1; //创建数组,逐字比较文本 var mm = new Array(); for(var i=0; i<a.length; i++) { for(var j=i+n; j<=a.length; j++) { var s = a.substring(i, j);     if(b.indexOf(s)==-1)     {       if(s.length>n) {          mm[mm.length] = a.substring(i, j-1);          i = j-2; }       break;     }      else {       if(j==a.length) {       mm[mm.length]=s; }     } } } return mm.Unique().join(","); //去除数组里的重复项 } //为Array数组定义方法Unique Array.prototype.Unique = function() { var a = {};  for(var i=0; i<this.length; i++) { if(typeof a[this[i]] == "undefined") a[this[i]] = 1; } this.length = 0; for(var i in a) this[this.length] = i; return this; }; //定义变量,并调用比较方法 var a = "北京要举办奥运会"; var b = "上海要举办世博会"; alert("返回的结果:"+ compare(a, b, 2)); </SCRIPT> </head> <body>

</body> </html>

【运行效果】

运行效果

【难点剖析】

 本例的重点是使用两个循环逐字节比较字符,但这个并没有技术难点,最难的是“pfototype”属性,用其提供对象的一组基本功能,本例中为Array对象创建了方法“Unique”。

【源码下载】

本实例JS代码下载

 

标签: 文本