java中如何提取两个特定字符串中所有的子字符串?

比如AAsdfkjjkjkfBBdfkjsfjdsfjlkAAkjjkjBB 提取AA,BB中间的所有字符串sdfkjjkjkf,kjjkj。急用,谢谢。

第1个回答  推荐于2017-09-24
提问者的意思应该是截取两个特定字符串中间的部分。
可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("(") + 1, reqResult.indexOf(")"));
解释:上述方法就是截取reqResult字符串的中开始”(“和结束”)“中间部分的内容,”1“就是”)“的长度,之后将获取的结果赋值给”getSignInfo进行输出即可“;
备注:以上方法通用于截取字符串,数字”1“和开始结束字符串根据实际需要修改即可。
第2个回答  2011-12-14
用String类的split方法。
第3个回答  推荐于2017-09-11
public class Test {
public static void main(String[] args) {
String str = "AAsdfkjjkjkfBBdfkjsfjdsfjlkAAkjjkjBB";
str = str.replace("AA", " ");
str = str.replace("BB", " ");
str = str.trim();
String[] s = str.split(" ");
for(int i = 0; i < s.length; i++){
System.out.println(s[i] + " " + i);
}
}
}追问

对不起我没说清楚,只提取AA……BB中间的子字符串,不提取BB……AA间的字符串。刚才运行了一下上面的程序,把两个里面的字符串都提取出来了,能不能继续帮个忙,感激不尽。

追答

public class Test {
public static void main(String[] args) {
String str = "AAsdfkjjkjkfBBdfkjsfjdsfjlkAAkjjkjBB";
str = str.replaceAll("[BB]\\w+[AA]", " ");
str = str.replace("AA", " ");
str = str.replace("BB", " ");
str = str.trim();
String[] s = str.split(" ");
for(int i = 0; i < s.length; i++){
System.out.println(s[i] + " " + i);
}
}
}

本回答被提问者采纳
相似回答