我想问一下,java能解析含有不同分隔符的字符串吗?比如我的字符串是这样的:1:1=ds,1=er,只想要得到除了:,=之外的字符串,该怎么做?谢谢!

解决方案 »

  1.   

    用正则表达式和字符串分割都可以啊.
    你这里用Split最简单
    String[] str = ":1:1=ds,1=er".split("::,=");
    这里的str数组中的就是你想要的
    当然也可以使用StringTokenizer.效果一样
      

  2.   

    String[] str = ":1:1=ds,1=er".split("::,="); 
    这个方法貌似不行,我试过了,解析不出来.我没做过字符串解析的东西,不知道还能怎么做.正则表达式该怎么做啊?谢谢,小女生做程序开发好难啊,很多东西都不知道!
      

  3.   

    String str = "1:1=ds,1=er";
            // 记住,一定要让str = str.replaceAll,具体原因你可以看看源码
            str = str.replaceAll("[:=,]", "");
            System.out.println(str);
      

  4.   

    你要的结果是什么   字符串11ds1er 还是字符串数组 1  1   ds  1   er
      

  5.   

    不要意思,我开始告诉你的那个方法是在有个Apache的commons-lang以后用的.
    因为Split支持正则表达,所以
    String[] strs = ":1:1=ds,1=er".split("[::,=]"); 就好了
      

  6.   


    String str="1:1=ds,1=er";
    System.out.println(Arrays.toString(str.split(":|=|,")));
      

  7.   


            //要去掉特定字符的字符串
            String str1 = "1:1=ds,1=er";
            Pattern p = Pattern.compile(":|,|=");
            Matcher m = p.matcher(str1);
            System.out.println(m.replaceAll(""));
            
            
            //去掉特定字符且分隔成数组
            String str2 = "1:1=ds,1=er";
            String[] strs = str2.split(":|,|=");
            
            for(String s: strs)
            {
                System.out.println(s);
            }
      

  8.   

    String[] str = ":1:1=ds,1=er".split("="); 
    for (int i=0;i<str.length;i++){
      String[] s=str[i].split(":");
    }
    先断大分类,再断小分类
    这样的方法很麻烦且不效率,推荐正则
      

  9.   

    String.split("[:,=]");
    或者
    String.split(":|,|=");这样都可以 分割了。