用java实现 333a12333435 
用函数实现 提取字符串 a12和4和5 
输出结果为 : 
a12 

5 定义函数f(String str,char del) 来实现 
del 代表3 (这是例子,就是这个意思 但也有可能会有更多字符串如aaa125aaa586aaaa235aaa58aa) 注: 不允许用split 方法
求代码 
谢谢 

解决方案 »

  1.   


        public static List<String> f(String str, char del)
        {
            List<String> list = new ArrayList<String>();
            Pattern p = Pattern.compile(del + "+");
            Matcher m = p.matcher(str);
            int index = 0;
            int start, end;
            
            while(m.find())
            {
                start = m.start();
                end = m.end();
                
                if(start != index)
                {
                    list.add(str.substring(index, start));
                }
                
                index = end;
            }
            
            if(index != str.length())
            {
                list.add(str.substring(index, str.length()));
            }
            
            return list;
        }
      

  2.   

    呵呵,分有点少哦,用法如下
        public static void main(String[] args)
        {
            String str = "333a12333435";
            List<String> list = f(str, '3');
            
            for(String s: list)
            {
                System.out.println(s);
            }
        }
      

  3.   

    帮你写了个
    文件名testSplit.javapublic class testSplit
    {
    public static void main(String[] strgs)
    {
    String str="aaa125aaa586aaaa235aaa58aa";
    char del='a';
    testSplit ts=new testSplit();
    ts.f(str,del);
    }

    void f(String str,char del)
    {
    for(int i=0;i<str.length();i++)
    {
    while(str.charAt(i)==del&&i!=str.length()-1)i++;
    while(str.charAt(i)!=del&&i!=str.length()-1)
    {
    System.out.print(str.charAt(i));
    i++;
    }
    System.out.println("");
    }
    }
    }
      

  4.   

    我的运行结果
    E:\学习\java\UltraEdit\csdn>java testSplit
    125
    586
    235
    58LZ可以参考
      

  5.   

    谢谢 各位的帮忙 怎样能有 更多分 我现在在找工作 谢谢 了 
    没买到分吗 
    我也想多给分忘记说了  只能用String的基本方法,不要加载太多包(1楼)谢谢 3楼 你能不能 加上substring()方法呢
    公司要求用substring()方法来截取
    要截成 单个的字符串
    谢谢 
      

  6.   


    老大,你这个循环也太恐怖了吧,hoho
      

  7.   

    这个应该可以了吧,呵呵
        public static void main(String[] args)
        {
            String str = "aaa125aaa586aaaa235aaa58aa";
            char ch = 'a';
            int index = 0;
            String sub;
            
            for(int i = 0; i < str.length(); i++)
            {
                if(ch == str.charAt(i))
                {
                    sub = str.substring(index, i);
                    
                    if(!sub.equals(""))
                    {
                        System.out.println(str.substring(index, i));
                    }
                    
                    index = i + 1;
                }
            }
            
            if(index < str.length())
            {
                System.out.println(str.substring(index));
            }
        }
      

  8.   


    void delete(String str,char del){
    char[] chars = str.toCharArray();
    boolean flag = false;
    int count = 0;//非删除字符的数量
    int end = chars.length-1;
    for(int i=0;i<=end;i++){
    //如果删除字符的前面为非删除字符,就将非删除字符打印出来
    if(count!=0&&chars[i]==del&&!flag){
    System.out.println(str.substring(i-count, i));
    flag = true;
    count = 0;
    }
    if(chars[i]!=del){
    flag = false;
    count++;
    }
    }
    if(chars[end]!=del)//以非删除字符结尾
    System.out.println(str.substring(end-count+1));
    }
      

  9.   

    only the 10point ,这么多人抢...
      

  10.   

    帮你写个class  TestDemo5
    {
    void del(String str,char c){
    for(int i=0;i<str.length();i++){
    if(str.charAt(i)!=c)
    {
    //从第一个非指定字符截断
    String str2=str.substring(i,str.length());
    //得到新串中第一个出现指定字符的索引
    int j=str2.indexOf(c);
    //判断该索引是否存在
    if(j!=-1){
    //存在,打印出来,并将原串值及i值改变,
    System.out.println(str2.substring(0,j));
    str=str2;
    i=str.indexOf(c);
    }else{
    //不存在,直接打印
    System.out.println(str2.substring(0,str2.length()));
    break;
    }
    }
    }
    } public static void main(String[] args) 
    {
    TestDemo5 td=new TestDemo5();
    String str="333a1233343512533364833333734561343";
    char c='3';
    td.del(str,c);
    }
    }
      

  11.   

    我的运行结果:
    ---------- java解释器 ----------
    a12
    4
    5125
    648
    7
    4561
    4输出完毕 (耗时 0 秒)