//指定的字符串如下
String subResStr = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";//先把774514&后面的数据截取出来为:abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
String temp = subResStr.substring(subResStr.indexOf("&") + 1);
// 然后截取从头到第一个"&"之间的数据即可
String abcd = temp .substring(0, temp.indexOf("&"));

解决方案 »

  1.   

    String subResStr = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
    String str = subResStr.split("&")[1];
      

  2.   

    如果是固定的格式可以这样
    不是的话 subResStr.indexOf("abcd") 先这样得到abcd开始的位置
    然后你截取固定的长度 如下
    int len =subResStr.indexOf("abcd");
    System.out.println(subResStr.substring(len, len+4));
      

  3.   

    abcd的长度不是固定的,有可能是abcde,有可能是chg
    J2ME里的String还没有split方法, 哈哈
      

  4.   

    (?<=&amp;).*?(?=&amp;)
    匹配出来取第一个
      

  5.   

    不太了解J2ME是否支持正则,不过基本的字符串循环截取还是应该支持的String s = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
    int i=0;

    while ((i=s.indexOf("&"))>-1){
    System.out.println(s.substring(0, i));
    s=s.substring(i+1, s.length());
    }

    System.out.println(s);
      

  6.   

    String s = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
    int len = s.indexOf("&");
    String sss = s.substring(len+1, s.indexOf("&", len+1));
    也就少创建一个String对象了。
    还有一种方法,干脆循环一次String,找到头两个出现"&"符号的位置,然后toCharArray()下,使用String(char[] value, int offset, int count)构造一个String出来,或许效率会高点
      

  7.   

    public static void main(String[] args) {
    String subResStr = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
    Pattern p = Pattern.compile(".*?(abcd).*?");
    Matcher m = p.matcher(subResStr);
    if(m.matches())
    System.out.println(m.group(1));
    }
      

  8.   

      楼主给出的字符串中是有三个&符号的。