java substring 如何截取位置不固定的字符串

如何用substring截取形如
aa..aa :XX..XX :bb..bb
中的两冒号间的字符串。
其中aa..aa,bb..bb,XX..XX长度均不固定

subSting做不了这个,具体用法你可以在网上搜索。
你可以用split实现。

String str="aa..aa :XX..XX :bb..bb";
String strs[] = str.split(":");//以":"为分隔符截取字符串数组
System.out.println(strs[1]);//如果总共只有两个冒号的话,那么总共会被截取成三个字符串,中间的字符串即为两冒号间的字符串。追问

问题已经解决,我用的是 indexOf 和 lastindexof 函数来确定‘:’的索引值,然后再用substring截取,不过依然感谢你!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-21
String aaa="aa:bbbb:cccc:b:dd:";
String[] bb=aaa.split(":");
//拿到的数组bb,里面就是你想要的。。这个最简单
第2个回答  2012-09-21
建议使用正则表达式,切割字符串
第3个回答  2012-09-21
先找到:号的位置,然后再截取
第4个回答  2012-09-21
subString(arg1, arg2)
arg1 = indexOf(":")
arg2 = lastIndexOf(":') 或者
arg2 = indexOf(":", arg1)

或者正则regex = .*:(.*?):.*
replaceAll(regex, "$1")
相似回答