String str="#345#ABC";
我想要得到#中间的345;
该怎么写呢。

解决方案 »

  1.   


            String str="#345#ABC";
            int i=str.indexOf("#")+1;
            int j=str.lastIndexOf("#");
            str=str.substring(i,j);
            System.out.println(str);
      

  2.   

    System.out.println(str.split("#")[1]);
      

  3.   

     String str="#345#ABC";
            String[] s = str.split("#");
            System.out.println(s[1]);方法很多,关键你的需求不明确,#的位置会出现多次,或者其他
      

  4.   


    int begin = str.indexOf("#");
    int end = str.indexOf("#", begin+1); 
    System.out.println(str.substring(begin+1, end));还有更高级的方法就是写正则表达式
      

  5.   

    Pattern ptn = Pattern.compile("(?<=#)[^#]+(?=#)");
    Matcher matcher = ptn.matcher("#345#ABC");
    while(matcher.find()){
    System.out.println(matcher.group());
    }