//指定的字符串如下
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("&"));
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("&"));
String str = subResStr.split("&")[1];
不是的话 subResStr.indexOf("abcd") 先这样得到abcd开始的位置
然后你截取固定的长度 如下
int len =subResStr.indexOf("abcd");
System.out.println(subResStr.substring(len, len+4));
J2ME里的String还没有split方法, 哈哈
匹配出来取第一个
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);
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出来,或许效率会高点
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));
}