bbb= bbb.substring(0,bbb.indexOf(aaa))+bbb.substring(bbb.indexOf(aaa)+aaa.length());

解决方案 »

  1.   

    if (bbb.indexOf(aaa)>=0){
      out.println("有重复!!");
        String output=bbb.replaceAll(aaa,"");
        out.println(output);
    }
      

  2.   

    我的意思事,string aaa, string bbb,
    如果bbb里面包含有aaa的内容,就把这些字符删除,保留不同的
    能实现吗?
      

  3.   

    string ccc="";
    string bbb="abcedf";
    string aaa="dfgh";
    for(i=0;i<bbb.length;i++)   
       if(aaa.indexOf(bbb.charAt(i))==-1)
         ccc=ccc+bbb.charAt(i);
      

  4.   

    实现很简单:
    public final class DupStringEraser {
        private DupStringEraser() {}    public static String eraseDup(String src, String dup) {
            if(src==null||dup==null) {throw new IllegalArgumentException();}
            return src.replaceAll(dup,"");
        }
    }
    单元测试:
    public class TestDupStringEraser extends TestCase {
        public TestDupStringEraser(String name) {super(name);}    public void testEraseDup() {
            boolean exception = false;
            try {DupStringEraser.eraseDup(null, null);}
            catch(Exception ex) {exception = true;}
            assertTrue(exception);        exception = false;
            try {DupStringEraser.eraseDup(null, "foo");}
            catch(Exception ex) {exception = true;}
            assertTrue(exception);        exception = false;
            try {DupStringEraser.eraseDup("foo", null);}
            catch(Exception ex) {exception = true;}
            assertTrue(exception);        String src = "ABC";
            String dup = "foo";
            assertEquals(src, DupStringEraser.eraseDup(src, dup));        src = "ABCABCBCAB";
            dup = "BC";
            assertEquals("AAAB", DupStringEraser.eraseDup(src, dup));
        }
    }
      

  5.   

    str.replaceAll(aaa, "");
    if there's no special character.
      

  6.   

    如果中间有逗号隔开呢?
    String a ="aaa,bbb,ccc,ddd ,eee";
    String b = "bbb,ccc,ddd,eee,fff";
    then should be: "fff"
      

  7.   

    使用StringTokenizer解析b,得到'bbb','ccc','ddd','eee','fff'
    分别对以上使用replaceAll,就可以得到最后的fff(还要把逗号替换掉)
      

  8.   

    StringTokenizer?
    有这个方法吗?我怎么没查到?
      

  9.   

    new StringTokenizer(b,",");java.util.StringTokenizer 是一个类,不是方法。
      

  10.   

    String b= "bbb,ccc,ddd,eee,fff,ggg,hhh,jjj,jkj";
    StringTokenizer st = new StringTokenizer(bbb,",");
             while (st.hasMoreTokens()) {
               System.out.println(st.nextToken());
             }
    得到了bbb,ccc,ddd
    但不知道怎么用replaceAll这个方法?
      

  11.   

    StringTokenizer st = new StringTokenizer(bbb,",");
    while (st.hasMoreTokens()) {
        aaa.replaceAll(st.nextToken(), "");
    }
    aaa.replaceAll(",","");
      

  12.   

    楼主需求真够复杂,而且还象挤牙膏一次出一点. :)
    那就倒过来.先解析b,放在一个Map中.
    Map map = new HashMap();
    StringTokenizer st = new StringTokenizer(bbb,",");
    while(st.hasMoreTokens()) {
        map.put(st.nextToken(), "");
    }
    然后再同样操作a
    StringBuffer ret = new StringBuffer();
    st = new StringTokenizer(aaa, ",");
    while(st.hasMoreTokens()) {
        String value = st.nextToken();
        if ( map.containsKey(valye) ) {continue;} // 如果重复就忽略.
        // 一个一个附加在StringBuffer后面.
    }