为排好的序的字符串, 找出重复的行。

来源:互联网 发布:迪亚特洛夫事件 知乎 编辑:程序博客网 时间:2024/05/21 17:27
实现这样一个需求,在一个Editplus文档中,有很多行10位的数字,这些数字已经排好序了。
比如:
1234567890
1234567891
1234567892
1234534124
1234614124
4321412414
5636373573

有什么办法能方便的找出两行至少前7位相同的数字吗?
比如,上面的数字中,能够找出
1234567890
1234567891
1234567892

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>    <title></title>    <style type="text/css">        div{ float:left; }        #divCenter{ padding-top:100px;margin:0 50px; }        .txt{width:200px;height:200px;}        #txtOldData{background-color:#A6CAF0;}        #txtAnswer{background-color:#EBA9A6;}    </style>    <script type="text/javascript">        function test() {            var arr = document.getElementById("txtOldData").value.replace(/ +/g, '').split("\n");            var tempStr = arr[0].substring(0, 7);            var compareLen = 7, equalNum = 0;            var answer = "";            for (var i = 1; i < arr.length; i++) {                if (arr[i].substring(0, 7) == tempStr) {                    if (equalNum == 0)                        answer += arr[i - 1] + "\n";                    answer += arr[i] + "\n";                    equalNum++;                } else {                    tempStr = arr[i].substring(0, 7);                    equalNum = 0;                }            }            document.getElementById("txtAnswer").value = (answer);        }    </script></head><body>    <div>        请输入数值:<br />        <textarea id="txtOldData" class="txt">1234567890123456789112345678921234534124123461412443214124145636373573        </textarea>    </div>    <div style="padding-top:90px;padding" >        <input type="button" value="测试==>" onclick="test()" />    </div>    <div>        结果:<br />        <textarea id="txtAnswer" class="txt"></textarea>    </div></body></html>


原创粉丝点击