求一个正则表达式,要求取出以中文词(可能是多个词)结尾之前的部分
例如:String s="遵守中华人民共和国有关法律法规";
指定结尾的词是法律,希望取出“遵守中华人民共和国有关”,怎么写?

解决方案 »

  1.   

    这个用得着正则吗?
    s.substring(0,s.lastIndexOf("法律"));
      

  2.   

    字符串如果是::
    str = "法律asfas法律120923法adsklf律adsaf法律";楼上的好像不行吧
      

  3.   

    呵呵,可以变通一下嘛
        private void pr(String param){
            
            while(param.indexOf("法律") != -1){
                //输出了你所需要的,当然你可以用StringBuffer存储增加
                 System.out.print(param.substring(0, param.indexOf("12")));
                
                 param = param.substring(param.indexOf("12")+2,param.length());
            }
        }
      

  4.   

    不好意思哈,因为是日文系统,所以写的例子关键字是“12”,你用的时候把12改为“法律”。    private void pr(String param){
            
            while(param.indexOf("法律") != -1 ){
                 System.out.print(param.substring(0, param.indexOf("法律")));
                 param = param.substring(param.indexOf("法律")+2,param.length());
            }
        }
      

  5.   

    String txt = "中123123adlkjsdf中文";
    boolean rs = txt.matches("^.*[\u4e00-\u9fa5]$");
    if (rs) {
    System.out.println("中文结尾");
    } else {
    System.out.println("非中文结尾");
    }