當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > 查找兩段文本中相同的詞句代碼

查找兩段文本中相同的詞句代碼

2012/10/22 19:09:34作者:佚名來源:網(wǎng)絡(luò)

移動端

【實例名稱】

查找兩段文本中相同的詞句

【實例描述】

 在網(wǎng)站的常用操作中,有時需要對比兩段文本內(nèi)容,找出其中的相同點和不同點。本例學(xué)習(xí)如何找出兩段文本內(nèi)容的相同點。

【實例代碼】

 

<html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>標(biāo)題頁</title>     <SCRIPT LANGUAGE="JavaScript"> function compare(a, b, n) { var c=a.length>b.length?b:a; //減少循環(huán) if(b==c) b=a; a=c; if(!n) n=1; //創(chuàng)建數(shù)組,逐字比較文本 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(","); //去除數(shù)組里的重復(fù)項 } //為Array數(shù)組定義方法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; }; //定義變量,并調(diào)用比較方法 var a = "北京要舉辦奧運會"; var b = "上海要舉辦世博會"; alert("返回的結(jié)果:"+ compare(a, b, 2)); </SCRIPT> </head> <body>

</body> </html>

【運行效果】

運行效果

【難點剖析】

 本例的重點是使用兩個循環(huán)逐字節(jié)比較字符,但這個并沒有技術(shù)難點,最難的是“pfototype”屬性,用其提供對象的一組基本功能,本例中為Array對象創(chuàng)建了方法“Unique”。

【源碼下載】

本實例JS代碼下載

 

標(biāo)簽: 文本  詞句代碼