指定的字符串,截取字串"abcd",大家能给出效率更高的写法吗(菜鸟贴)

我在肖申克 2011-02-16 12:38:21
//指定的字符串如下
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("&"));
...全文
182 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbgzg3006 2011-02-16
  • 打赏
  • 举报
回复
应该没有吧。我猜的。
linyfei 2011-02-16
  • 打赏
  • 举报
回复
楼主给出的字符串中是有三个&符号的。
ilrxx 2011-02-16
  • 打赏
  • 举报
回复
	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));
}
hanzhdy 2011-02-16
  • 打赏
  • 举报
回复
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出来,或许效率会高点
baobao28 2011-02-16
  • 打赏
  • 举报
回复
不太了解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);
loveofmylife 2011-02-16
  • 打赏
  • 举报
回复
(?<=&).*?(?=&)
匹配出来取第一个
我在肖申克 2011-02-16
  • 打赏
  • 举报
回复
abcd的长度不是固定的,有可能是abcde,有可能是chg
J2ME里的String还没有split方法, 哈哈
zn85600301 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 linyfei 的回复:]

String subResStr = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
String str = subResStr.split("&")[1];
[/Quote]
如果是固定的格式可以这样
不是的话 subResStr.indexOf("abcd") 先这样得到abcd开始的位置
然后你截取固定的长度 如下
int len =subResStr.indexOf("abcd");
System.out.println(subResStr.substring(len, len+4));
linyfei 2011-02-16
  • 打赏
  • 举报
回复
String subResStr = "774514&abcd&2011-02-16 10:26:25&2014-02-16 10:26:25";
String str = subResStr.split("&")[1];

whut_lcy 2011-02-16
  • 打赏
  • 举报
回复
rel

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧