日期:2014-05-20  浏览次数:20719 次

求一个正则表达式~去重有关
String str ="jfklasjdflksadfiidf"; //任意字符串
String str1 = str.replaceAll("(?s)(.)(?=.*\\1)", ""); //去重复
System.out.println(str1);


现在需要添加一个条件功能
就是i和j 视为同一个字符

再求一个功能就是

可以从26个字母中去除上面得到的字符即str1,将26个字母中剩下的并付给str2
------解决方案--------------------
i和j 同一个,把i替换j 或者j替换i可以不?
------解决方案--------------------

String str = "jfklasjdflksadfiidf"; //任意字符串
        String str1 = str.replaceAll("(?s)(.)(?=.*\\1)
------解决方案--------------------
(j)(?=.*i)
------解决方案--------------------
(i)(?=.*j)", ""); //去重复
        System.out.println(str1);
        String str2 = "abcdefghijklmnopqrstuvwxyz".replaceAll("[" + str1 + "]", "");
        System.out.println(str2);