高手帮下忙:   如有一个字符串add.dff,dad.ddd有什么办法只取他"."之前","之后的字段?显示出来就是add,dad?   就是到.就不显示后面的了,但要是遇到,的话又继续循环取.之后就不显示
      解决问题立即给分!   谢谢 

解决方案 »

  1.   

    这个符合要求不?
    public class Test { public static void main(String[] args) {
    String target="add.dff,dad.ddd";

    String[] split = target.split(",");

    StringBuffer bs = new StringBuffer();

    for(int i = 0; i < split.length;i++){
    split[i] = split[i].replaceAll("\\..+", "");
    bs.append(split[i]);

    if(i != split.length-1){
    bs.append(",");
    }
    }

    System.out.println(bs);
    }
    }
      

  2.   

    public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s="add.fff,dad.sss";
    String[] temp=s.split(",");
    String[] ss;
    StringBuffer sb=new StringBuffer();
    for(int i=0;i<temp.length;i++)
    {
    ss=temp[i].split("\\.");
    sb.append(ss[0]);
    if(i<temp.length-1)
    {
    sb.append(",");
    }
    }
    System.out.println(sb);

    }}
      

  3.   

    String str = "add.dff,dad.ddd";
    System.out.println(str.replaceAll("[.].*?(,|$)", "$1"));
      

  4.   

    是不是这样的
    public static void main(String[] args) {
    String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf";
            
    String[] split =StringUtils.split(a,".");
    String content="";
            
    for(int i = 0; i < split.length;i++){
    content =content+ split[i].replaceAll(".{0,},", ",");


    }
            
    System.out.println(content);
    }
    打印结果为asd,adsdfsfs,ffasdfasdfsdf,asdfs,sf
      

  5.   

    不好意思写错了
    应该是这样的 public static void main(String[] args) {
    String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf";
            
    String[] split =StringUtils.split(a,".");
    String content="";
            
    for(int i = 0; i < split.length;i++){
    System.out.println(split[i].lastIndexOf(","));
    if(i==0)
      content=content+split[i];
    else if(split[i].lastIndexOf(",")>=0)
    content =content+ split[i].replaceFirst(".+?,", ",");
    else
    content =content+ split[i].replaceAll(".+", "");  
    }
            
    System.out.println(content);
    }打印结果为:asd,a,sd,f,asd,f,asdf,sf
      

  6.   

    不好意思上个写对了 但太麻烦
    这样写就OK了
    String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf.sdfs";
    String content =a.replaceAll("\\..+?(?=,|$)","");
    System.out.println(content);打印结果为:asd,a,sd,f,asd,f,asdf,sf
      

  7.   

    victoryzll 
    ↘乖_巧 
    等 级:
    -------------------
    我怎么拿你的测试数据测试是对的呢?而且跟你6楼的结果也是一样的.