首頁 web前端 js教程 jquery實作去除重複字串的方法小結_jquery

jquery實作去除重複字串的方法小結_jquery

May 16, 2016 pm 03:03 PM
jquery 字串

本文实例总结了jquery实现去除重复字符串的方法。分享给大家供大家参考,具体如下:

这里总结了三种去除重复字符串的方法:

把例子贴上,用jQuery方便些,首先要搭好环境,就是在同一目录下(同一文件夹下)保证有所使用的jquery1.8.1(如果是其他版本就在html代码中作相应改动)

第一:

<html>
<head>
<script src="jquery-1.8.1.js"></script>
<SCRIPT LANGUAGE="JavaScript">
$(function(){
 $('#delRepeat').click(function(){
  var str = $('#repeatValue').val();
   var strArr=str.split("");//把字符串分割成一个数组
   strArr.sort();//排序
   var result=new Array();//创建出一个结果数组
   var tempStr="";
   for(var i in strArr)
   {
     if(strArr[i] != tempStr)
     {
      result.push(strArr[i]);
      tempStr=strArr[i];
     }
     else
     {
      continue;
     }
   }
   $('#noRepeat').val(result.join(""))//把数组连成字符串并展示到页面
 })
})
</SCRIPT>
</head>
<body>
原值<input id="repeatValue" type="text" ><input id="delRepeat" type="button" value="去重">
<input type="text" id="noRepeat">
</body>
</html>

登入後複製

说明:通常就是把字符串分割成数组,再对数组操作,相对来说数组的方法多些,方便些,最后再join成字符串

关于sort()方法,之所以先对数组元素排序,就是因为可以把相同的字符归到一起,就不用再双层循环,要不然就得拿到每个元素,和剩余的逐个比对,这个sort会按照ASCII 字符顺序进行升序排列

第二:

<html>
<head>
<script src="jquery-1.8.1.js"></script>
<SCRIPT LANGUAGE="JavaScript">
$(function(){
 $('#delRepeat').click(function(){
  var str = $('#repeatValue').val();
   var strArr=str.split("");
   //排序
   strArr.sort();
    var result =$.unique(strArr);
   $('#noRepeat').val(result.join(""));
 })
})
</SCRIPT>
</head>
<body>
原值<input id="repeatValue" type="text" ><input id="delRepeat" type="button" value="去重">
<input type="text" id="noRepeat">
</body>
</html>

登入後複製

说明,这个unique方法确实方便,但有两个缺陷:

1、只对数组有效(直接字符串不行),并且该数组不能是数字数组,
2、只对相邻的重复元素有效,隔开的不行。

例如:[a,a,b,b,c,c]---unique----》[a,b,c]有效
[a,a,b,b,c,c,a]--unique-->[a,b,c,a]元素a仍然重复,无效

因此调用unique之前必须调用一下sort方法将其重复元素重排一下,挨在一起

但也因为调用了sort方法,顺序给重排了如:[b,b,c,c,a,a]---unique-->[a,b,c]不是[b,c,a]

第三:

<html>
<head>
<script src="jquery-1.8.1.js"></script>
<SCRIPT LANGUAGE="JavaScript">
$(function(){
 $('#delRepeat').click(function(){
  var str = $('#repeatValue').val();
     var reg = /(.)(&#63;=.*\1)/g;//预搜索方式(有的叫断言)
     var result = str.replace(reg, "");
     $('#noRepeat').val(result);
 })
})
</SCRIPT>
</head>
<body>
原值<input id="repeatValue" type="text" value="aca" ><input id="delRepeat" type="button" value="去重">
<input type="text" id="noRepeat">
</body>
</html>

登入後複製

说明:

var reg =/(.)(?=.*\1)/g;
.匹配任意字符,但只能匹配任意字符中的一个
(.)加上()就是将匹配的该字符存储起来供以后引用
(?=)预搜索(也有叫断言的,也有叫预查的),指明某个字符的右侧是什么,但不包含这部分,只取这个‘某个字符'
如:p(?=ing)     匹配字符串ping时匹配成功,但匹配到的字符是p不是ping
(?=.*\1) 这个\1就是指的前面(.)的这个字符,之前说它被加上小括号就是被存储起来了,现在1就是取存储的第一个(共一个)
*匹配次数,也有人称之为量词,指出现任意次
.*指出现任意次任意字符
(.)(?=.*\1)指第一个匹配字符,如果右侧出现的内容中包含该字符时就匹配上该字符
 g    指globle,全局匹配模式,匹配所有字符串

这个去重的结果其实是倒着来排序的,就是说重复字符出现在前面的都被置空了,是按一个字符从后往前出现的顺序排的

另:关于去重感兴趣的朋友还可以参考本站在线工具

在线去除重复项工具

更多关于jQuery相关内容可查看本站专题:《jQuery操作xml技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结

希望本文所述对大家jQuery程序设计有所帮助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Golang字串是否以指定字元結尾的判斷方法 Golang字串是否以指定字元結尾的判斷方法 Mar 12, 2024 pm 04:48 PM

標題:Golang中判斷字串是否以指定字元結尾的方法在Go語言中,有時候我們需要判斷一個字串是否以特定的字元結尾,這在處理字串時十分常見。本文將介紹如何使用Go語言來實現這項功能,同時提供程式碼範例供大家參考。首先,讓我們來看看Golang中如何判斷一個字串是否以指定字元結尾的方法。 Golang中的字串可以透過索引來取得其中的字符,而字串的長度可

如何在Go語言中截取字串 如何在Go語言中截取字串 Mar 13, 2024 am 08:33 AM

Go語言是一種強大且靈活的程式語言,它提供了豐富的字串處理功能,包括字串截取。在Go語言中,我們可以使用切片(slice)來截取字串。接下來,將詳細介紹如何在Go語言中截取字串,並附上具體的程式碼範例。一、使用切片截取字串在Go語言中,可以使用切片表達式來截取字串的一部分。切片表達式的語法如下:slice:=str[start:end]其中,s

怎麼重複字串_python重複字串教程 怎麼重複字串_python重複字串教程 Apr 02, 2024 pm 03:58 PM

1.先開啟pycharm,進入到pycharm首頁。 2.然後新建python腳本,右鍵--點選new--點選pythonfile。 3.輸入一段字串,代碼:s="-"。 4.接著需要把字串裡面的符號重複20次,代碼:s1=s*20。5、輸入列印輸出代碼,代碼:print(s1)。 6.最後運行腳本,在最底部會看到我們的回傳值:-就重複了20次。

PHP中int型別轉字串的方法詳解 PHP中int型別轉字串的方法詳解 Mar 26, 2024 am 11:45 AM

PHP中int型別轉字串的方法詳解在PHP開發中,常會遇到將int型別轉換為字串型別的需求。這種轉換可以透過多種方式實現,本文將詳細介紹幾種常用的方法,並附帶具體的程式碼範例來幫助讀者更好地理解。一、使用PHP內建函數strval()PHP提供了一個內建函數strval(),可以將不同類型的變數轉換為字串類型。當我們需要將int型別轉換為字串型別時,

解決PHP中16進位轉字串出現中文亂碼的方法 解決PHP中16進位轉字串出現中文亂碼的方法 Mar 04, 2024 am 09:36 AM

解決PHP中16進位轉字串出現中文亂碼的方法在PHP程式設計中,有時候我們會遇到需要將16進位表示的字串轉換為正常的中文字元的情況。然而,在進行這個轉換的過程中,有時會遇到中文亂碼的問題。這篇文章將為您提供解決PHP中16進位轉字串出現中文亂碼的方法,並給出具體的程式碼範例。使用hex2bin()函數進行16進位轉換PHP內建的hex2bin()函數可以將1

Golang中如何檢查字串是否以特定字元開頭? Golang中如何檢查字串是否以特定字元開頭? Mar 12, 2024 pm 09:42 PM

Golang中如何檢查字串是否以特定字元開頭?在使用Golang程式設計時,經常會遇到需要檢查一個字串是否以特定字元開頭的情況。針對這項需求,我們可以使用Golang中的strings套件所提供的函數來實現。接下來將詳細介紹如何使用Golang檢查字串是否以特定字元開頭,並附上具體的程式碼範例。在Golang中,我們可以使用strings套件中的HasPrefix

PHP字串比對技巧:避免模糊包含表達式 PHP字串比對技巧:避免模糊包含表達式 Feb 29, 2024 am 08:06 AM

PHP字串比對技巧:避免模糊包含表達式在PHP開發中,字串比對是常見的任務,通常用於尋找特定的文字內容或驗證輸入的格式。然而,有時候我們需要避免使用模糊的包含表達式來確保匹配的準確性。本文將介紹一些在PHP中進行字串匹配時避免模糊包含表達式的技巧,並提供具體的程式碼範例。使用preg_match()函數進行精確比對在PHP中,可以使用preg_mat

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 Mar 28, 2024 pm 03:02 PM

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧在PHP開發中,字串處理是一個非常常見的需求。有時候我們需要對字串進行處理,去除多餘的逗號,保留唯一的逗號。在這篇文章中,我將介紹一種實作技巧,並提供具體的程式碼範例。首先,我們來看一個常見的需求:假設我們有一個包含多個逗號的字串,我們需要去除多餘的逗號,只保留唯一的逗號。例如,將"apple,ba

See all articles