国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

去除字符串中連續重復的字符

2019-11-14 20:55:26
字體:
來源:轉載
供稿:網友
去除字符串中連續重復的字符目的:把字符串中連續重復的字符賜除掉。

輸入:序列:kkkhan888shioobo66

正確的返回結果應該是:hanshibo

思路解析

1 使用java正則表達式,匹配出連續相同的字符或數字。

2 查找出匹配出來的序列,并取出來放到list里面

3 對list進行排序。把重復的序列排在前面。(該步可省略)

4找出連續重復的子序列,并把這些連續重復的子序列用空(字字符串)替換。

5 返回輸出。

code
public class Test  {      public static void main(String[] args)      {          String strings = matcher("kkkhan888shioobo66");          System.out.PRintln(strings);      }        public static String matcher(String input)      {          //創建一個List           List<String> list = new ArrayList<String>();          //創建匹配的模式          Pattern pattern = Pattern.compile("(.)//1*");          //匹配器          Matcher matcher = pattern.matcher(input);          //查找與該模式匹配的子序列。從"+kkkhan888shioobo66" 里面 查找出 與 此模式 "(.)//1*"  相匹配的 子序列。如果存在,返回true,如果不存在,返回false.          while (matcher.find())          {              //返回匹配的子序列,并加入到list里面。              list.add(matcher.group());          }          System.out.println(list);          //對分好組的List,進行排序。根據指定比較器產生的順序對指定列表進行排序。把重復的序列排在前面。          Collections.sort(list, new Comparator<String>()          {              public int compare(String o1, String o2)              {                  return o2.length() - o1.length();              }          });          //找到連續重復的字符,加入到數組中。          String[] strings = list.toArray(new String[0]);          //找出連續并且重復的子序列。并且把這些連續重復的子序列用空字符串替換。          for(int i=0 ;i<=strings.length-1;i++){              if(strings[i].length()>1){                  System.out.println(strings[i]);                  input=input.replace(strings[i],"");                  System.out.println(input);              }          }          System.out.println("最終結果:"+input);          //返回把連續重復的字符賜除掉的字符序列。          return input;      }  }
java連續多位相同字符判斷的正則表達式

([0-9])/1{5} 或 ([/d])/1{5} 連續相同的6位數字 如:333333([0-9a-zA-Z])/1{5} 連續相同的6位數字或字母 如:222222 cccccc ZZZZZZ([/d])/1{2}([a-z])/2{2} 連續相同3位數字后根連續相同的三位小寫字母 如:222www([/d])/1{2}([a-z])/2{2}|([a-z])/3{2}([/d])/4{2} 同上,但是能匹配數字+字母或字母+數字 如:222www 或 www222自己可以擴展,要注意的就是 /1 /2代表位置,從左到右遞增

我是天王蓋地虎的分割線

參考:http://blog.csdn.net/atomcrazy/article/details/9087187


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀来县| 凌云县| 绥德县| 德令哈市| 沂源县| 宣威市| 高唐县| 永寿县| 西丰县| 邹城市| 江城| 遵化市| 平阳县| 尚义县| 岚皋县| 广元市| 万宁市| 明水县| 西城区| 弥勒县| 鹤山市| 新蔡县| 恭城| 获嘉县| 甘孜| 平度市| 白河县| 贡觉县| 施甸县| 海南省| 常宁市| 双桥区| 惠东县| 耿马| 大关县| 福州市| 桐梓县| 榆林市| 姜堰市| 石门县| 辉县市|