Java移除字符串中的重復字符
基本的兩種方法
1、使用正則表達式。
public String removeDuplicateChars(String str) { return str.replaceAll("(?s)(.)(?=.*\\1)", ""); }
(?s) 開啟單行模式 dotall 讓. 號匹配任意字符
(.) 任意字符 并捕獲在第一組
(?=.*\1) 這是斷言, 表示后面內容將是 任意個字符加上第一組所捕獲的內容 這樣子,如果這整個式子匹配到,表示,第一個捕獲組內容在字符串中,至少出現兩次,替換為 “” 空串. 進行 全局替換后, 整個字符串所出現的字符將不重復。
2、使用遍歷。
public String removeDuplicateChars(String str) { String[] strs = str.split(""); List<Stirng> list = new ArrayList<String>(); StringBuffer buffer = new StringBuffer();for(Stirng s : strs) { if(!list.contains(s)) { list.add(s); buffer.append(s); } } return buffer.toString();
}</pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!