参考j2sdkse1.4 documentation的java.util.regex.Pattern

解决方案 »

  1.   

    java:str.indexOf("20")==0会告诉你like '20%'的结果
    str.indexOf("20")>-1会告诉你like '%20%'的结果
    str.lastIndexOf("20")==(str.length()-2)会告诉你 like '%20'的结果
    最后一个str.length-2的2为20的字符串长度更复杂的你可以自己组合一下考虑.indexOf和lastIndexOf很有用的哦:)
      

  2.   

    str.indexOf("20")==0&&str.length()==5会告诉你like "20___"的结果5表示"20___"的长度
    其它的组合和这个类试
      

  3.   

    一般的查询在数据库里!
    但是我现在做的这个查询不是在数据库中!而是去查一个vector,vector中存放着一个数据类。
    这个数据类有好多属性!
    我要根据用户的输入(有可能有"*","?")去匹配vector中每个数据类的每个属性!
    如果符合,然后对这个数据类进行操作!。
    java.util.regex.Pattern中好像没有合适的吧?
      

  4.   

    String类中的方法拼一个你要的方法应该没问题
      

  5.   

    问题解决了!!!
    感谢各位
    还是用了 java.util.regex.Pattern    private boolean isLike (String strBase,String strLike ) {
            boolean bLike = true ;
            strLike.replace( '?', '.' ) ;
            if ( strLike.indexOf( '*' ) > -1 )
            {
                strLike = strLike.substring(0 , strLike.indexOf( '*' )) +
                          ".*" +strLike.substring( strLike.indexOf( '*' ) + 1);
            }
            return Pattern.matches( strLike , strBase ) ;
        }  public boolean isLike(int iCompare)
      {
        return isLike(String.valueOf(iBase));
      }
      

  6.   

    把用户的输入解析成正则表达式,然后用这正则表达式对vector中的数据进行匹配,匹配成功的数据输出。前提是用户的输入不算太复杂,呵呵
      

  7.   

    刚刚发错了
        
        private boolean isLike( String strBase ) {
            boolean bLike = true ;
            String strLike = j_txtSearch.getText() ;
            strLike.replace( '?', '.' ) ;
            if ( strLike.indexOf( '*' ) > -1 )
            {
                strLike = strLike.substring(0 , strLike.indexOf( '*' )) +
                          ".*" +strLike.substring( strLike.indexOf( '*' ) + 1);
            }
            return Pattern.matches( strLike , strBase ) ;
        }    private boolean isLike( int iBase ) {
            return isLike(String.valueOf(iBase));
        }
      

  8.   

    建议你用LUCENE实现对应的检索
    可以通过中间过程匹配实现
      

  9.   

    jdk1.4 提供了正则表达式api.具体可参考
    java.util.regex包