我有一个方法传入一个String类型的参数a
有一个String类型的数组,我要用这个参数a去匹配数组中字符串,只要数组中的字符串含有a就把它答应出来,但是a不分大小写
例如
String a = "dd";则"aDdfff","addfdf","dD"....都是符合的,各位大大帮帮小弟一下

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【cnoolon】截止到2008-07-22 15:44:26的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:120                      每贴平均分数:40                       
    回帖的总数量:168                      得分贴总数量:69                       回帖的得分率:41%                      
    结贴的总数量:3                        结贴的总分数:120                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    你这个参数a是想做完全字符匹配呢?还是这么样?我的意思是说,如果你输入 d*,表示要匹配d*呢,还是表示正则的意思,0个以上的d都可以?
      

  3.   

    我是用正则表达式解决的
    我的思路是:
    public void do(String someStr) {
        List[] someStr = new ArrayList();  ------存原始数据的,就当他里面有内容了,偷懒一下
        List[] results = new ArrayList();  ------存结果的,空的    StringBuilder regex = new StringBuilder();
        sb.append("[a-zA-Z]*");
        sb.append(someStr);
        sb.append("[a-zA-Z]*");    Pattern p = Pattern.compile(regex.toString,Pattern.CASE_INSENSITIVE); -----不区分大小写    for(String str : someStr) {
            
            Matcher m = p.matcher(str);
            if (m.finds()) {           results.add(str);
            }
        }
    }
      

  4.   

    又想到一个方法:可以比较的两个字符串都转化为大写或小写,然后用contains()方法。
      

  5.   

    真麻烦,
    直接indexOf不就完啦。。一个判断搞定。
      

  6.   

    拜托看一下我的要求好不,indexof()方法不分大小写的吗???!!!
      

  7.   

    简单的说,你把a的内容转为小写,
    在匹配前,把从数组中取出的内容转为小写,然后用String 的indexOf()方法,
      

  8.   

    a>b? 0:1
    这个才是正则表达式吧
      

  9.   

    老兄,这是三目运算符正则去看看API吧java.util.regex.*
      

  10.   

    把数组里每一项都upper后再匹配就ok了
      

  11.   

    这么简单的匹配如果不考虑今后的扩展(如果数组中字符串不是很长),那使用 indexOf 方法效率会更高些,如下:String a = "dd";
    String sa = {"aDdfff", "addfdf" "dD"};
    a = a.toLowerCase();
    for (int i = sa.length; i >= 0; --i) {
        if (sa[i].toLowerCase().indexOf(a) != -1) {
            return sa[i];
        }
    }
      

  12.   

    上面的代码有点问题,更正一下:String a = "dd";
    String sa = {"aDdfff", "addfdf", "dD"};
    a = a.toLowerCase();
    for (int i = sa.length - 1; i >= 0; --i) {
        if (sa[i].toLowerCase().indexOf(a) != -1) {
            return sa[i];
        }
    }