有一个数组String[] s={af,ag,...bf,bg,...cf,cg,...}要求把s中凡是包含有字符c的字符串拿出来,组成另一个数组sc.这段代码怎么写?用正则表达式。

解决方案 »

  1.   

    没人在了吗,都去聚餐了?555
    String[] s={af,ag,aer,vse,bf,bg,fd,cf,cg,re,lb,nc} ,sc;for(int i=0;i<s.length;i++)
    {
    Pattern p = Pattern.compile(".+c.+");
    Matcher m = p.matcher(s[i]);while(m.find()){就是这里不会写

    }
    }
      

  2.   

    为什么用while.不是用if
    必须用正则吗? indexOf不可以?
    可以先声明一个ArrayList<String>arrSc
    然后用toArray方法
      

  3.   

    String[] s={af,ag,aer,vse,bf,bg,fd,cf,cg,re,lb,nc} ,sc; 
    StringBuffer sb = new StringBuffer();
    for(int i=0;i <s.length;i++) 

    Pattern p = Pattern.compile(".+c.+"); 
    Matcher m = p.matcher(s[i]); while(m.find()){ sb.append(s[i]+",");} 
    }
    String[] sc= sb.toString().split(",");这个方法太笨啊,有没有其他?
      

  4.   

    不明白:
    1. c是什么?是字符'c'还是变量c?
    2. af, ag, aer..... 这些又什么?字符串还是变量?
      

  5.   

    String[] s={"af","ag","aer","vse","bf","bg","fd","cf","cg","re","lb","nc"}; List<String> result =new ArrayList<String>(); for(int i=0;i <s.length;i++) 

        if(s[i].matches(".*c.*"))
        {
            result.add(s[i]);
        }

    String[] sc = new String[result.size()];
    sc = result.toArray(sc);
      

  6.   


    String[] s={"afc","ag","aer","vse","bf","bg","fd","cf","cg","re","lb","nc"},sc = null; 
    ArrayList<String> arrayList = new ArrayList<String>();
    Pattern p = Pattern.compile(".*c");
    for(int i=0;i <s.length;i++) 
    {
    Matcher m = p.matcher(s[i]); 
    if(m.find())
    {
    arrayList.add(s[i]);
    }
    }
    sc = new String[arrayList.size()];
    sc =  arrayList.toArray(sc);