举了例子吧,有这样几个字符串:
String str1 = "dsaf3d&channelid=34567&dsfghh3";
String str2 = "channelid=87654&sdf452";
String str3 = "channelid=76543&channelid=76543";
channelid=的数字都是五位.
现在我想有这样一种方法,可以取得channelid=后面的那五位数字.
还望大家指教

解决方案 »

  1.   

    int index = str1.indexOf("channelid=");//后面加10是因为channelid=有十个字符
    string number = str1.subString(index + 10, index + 15);
    //这里得到的number就是要的五位数了,自己可以处理一下类型如果有多个channelid=就把前面的截下来,剩下的接着这么做,当然,还要注意一下subString可能抛出的异常建议以后提问题最好多少留一点分数,要不很少人会愿意回答你的问题的:)
      

  2.   

    Java中使用正则表达式来实现字符串匹配 
    http://www.src119.com/article/2007/0725/vc_37515.html
      

  3.   

    public class Test{  public void ch(String str){
    int index = str.indexOf("channelid=");
    String str1 = str.substring(index+10,index+15);
    System.out.println(str1);
    }

        public static void main(String[] args) { 
         String   str1   =   "dsaf3d&channelid=34567&dsfghh3 ";
         String   str2   =   "channelid=87654&sdf452 ";
         String   str3   =   "channelid=76543&channelid=76543 "; 
         new Test().ch(str3);
        } 
      

  4.   

    public class Test{
                   
                public void ch(String str){
                 int index = str.indexOf("yajnfdkhsf+");
                String std1 = std.substring(index+10,index+15);
              System.out.println(str1);
    }
             public static  void main (String[]args){
              String str1= "kjasf;lksad;flkjs;dlfsd";
                Test test = new Test();
                test.ch(str1);
    }
    }
    这个就是本人的水平了,一年没有看看,就这样的 水品啊,可怕 
      

  5.   

    java可以使用正则表达式,那样快
      

  6.   


    Pattern p = Pattern.compile("channelid=\\d{5}");
    Matcher m =p.matcher(你的字符串变量);
    if (m.find()) {
        System.out.println(m.group());
    }
      

  7.   

    居然不给分 
    太伤心了 
    ------------------------------------------------------
    Quietly through ....