首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎样输出两个字符串中相同的部分?该怎么处理

2012-03-13 
怎样输出两个字符串中相同的部分??比如,This is a dog.和this is a cat.然后,应该输出is,a应该用怎样的

怎样输出两个字符串中相同的部分??
比如,This is a dog.和this is a cat.
然后,应该输出"is,a"

应该用怎样的函数来比较?


[解决办法]
参考如下代码:

JScript code
function duplicateWord(a, b) {    if (!a || !b) return;    var dict = {};    var result = [];    a.replace(/\w+/g, function() { // 获得第一组单词        dict[arguments[0]] = true;;    });    b.replace(/\w+/g, function() { // 判断单词是否重复,如果重复添加到结果中        if (dict[arguments[0]])            result.push(arguments[0]);    });    return result;}var words = duplicateWord("This is a dog.", "this is a cat.");alert(words);
[解决办法]
给String添加一个函数
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD>  <TITLE> New Document </TITLE>  <script>  String.prototype.sameElements = function(str){    var arr = new Array();    str = str.replace(".","");    var temp = str.split(" ");    for(var i=0;i<temp.length;i++){        if(this.indexOf(temp[i])!=-1){            arr.push(temp[i]);        }    }    return arr;  }  var str1 = "This is a dog."  var str2 = "this is a cat."  alert(str1.sameElements(str2));  </script> </HEAD> <BODY>   </BODY></HTML> 

热点排行