用Java正則去掉字符串中重復(fù)出現(xiàn)的字符
更新時(shí)間:2010年12月05日 15:23:40 作者:
abcde 順序可以不一樣,也就是去掉重復(fù)出現(xiàn)的字符
String str = "abcdeabcdeabcdeaaaaaadddddceeeeabcccccccacadaeec";
str = str.replaceAll(reg, "");
System.out.println(str);
str = str.replaceAll("(?s)(.)(?=.*\\1)", "");
(?s)(.)(?=.*\1)
(?s) 開(kāi)啟單行模式 DOTALL 讓. 號(hào)匹配任意字符
(.) 任意字符 并捕獲在第一組
(?=.*\1) 這是斷言, 表示后面內(nèi)容將是 任意個(gè)字符加上第一組所捕獲的內(nèi)容
這樣子,如果這整個(gè)式子匹配到,表示,第一個(gè)捕獲組內(nèi)容在字符串中,至少出現(xiàn)兩次,替換為 "" 空串.
進(jìn)行 全局替換后, 整個(gè)字符串所出現(xiàn)的字符將不重復(fù)。
str = str.replaceAll(reg, "");
System.out.println(str);
str = str.replaceAll("(?s)(.)(?=.*\\1)", "");
(?s)(.)(?=.*\1)
(?s) 開(kāi)啟單行模式 DOTALL 讓. 號(hào)匹配任意字符
(.) 任意字符 并捕獲在第一組
(?=.*\1) 這是斷言, 表示后面內(nèi)容將是 任意個(gè)字符加上第一組所捕獲的內(nèi)容
這樣子,如果這整個(gè)式子匹配到,表示,第一個(gè)捕獲組內(nèi)容在字符串中,至少出現(xiàn)兩次,替換為 "" 空串.
進(jìn)行 全局替換后, 整個(gè)字符串所出現(xiàn)的字符將不重復(fù)。
您可能感興趣的文章:
- java 判斷字符串中是否有重復(fù)字符的示例
- Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法示例
- Java使用正則表達(dá)式截取重復(fù)出現(xiàn)的XML字符串功能示例
- java實(shí)現(xiàn)輸出字符串中第一個(gè)出現(xiàn)不重復(fù)的字符詳解
- Java中ArrayList去除重復(fù)元素(包括字符串和自定義對(duì)象)
- java正則表達(dá)式實(shí)現(xiàn)提取需要的字符并放入數(shù)組【ArrayList數(shù)組去重復(fù)功能】
- java統(tǒng)計(jì)字符串中重復(fù)字符出現(xiàn)次數(shù)的方法
- Java 將一個(gè)字符重復(fù)n遍過(guò)程詳解
相關(guān)文章
淺析一個(gè)匹配數(shù)字和字母密碼的正則表達(dá)式
最近做項(xiàng)目,遇到這樣的需求,要求由數(shù)字和字母組成,并且要同時(shí)含有數(shù)字和字母,且長(zhǎng)度要在8-16位之間。下面給大家分享實(shí)現(xiàn)代碼,要求看看吧2017-06-06正則表達(dá)式檢測(cè)用戶輸入的email地址是否合法
在注冊(cè)系統(tǒng)開(kāi)發(fā)中,需要檢測(cè)用戶輸入的email地址是否合法,都可以使用正則表達(dá)式來(lái)檢測(cè),下面有個(gè)小例子,希望對(duì)大家有所幫助2014-01-01代替正則——HyperScriptExpression聯(lián)合開(kāi)發(fā)倡議公告
代替正則——HyperScriptExpression聯(lián)合開(kāi)發(fā)倡議公告...2007-01-01簡(jiǎn)單的用js實(shí)現(xiàn)過(guò)濾多余字符的正則表達(dá)式
利用正則表達(dá)法除去字符串中的重復(fù)字符,一個(gè)簡(jiǎn)單的JavaScript正則表達(dá)式實(shí)例,將一串含有重復(fù)字符串中的多余字符濾除掉,請(qǐng)運(yùn)行查看效果。2010-10-10asp正則表達(dá)式匹配數(shù)字$數(shù)字$數(shù)字$
用asp實(shí)現(xiàn)的匹配:數(shù)字$數(shù)字$數(shù)字$...... 的正則2008-04-04