如题 本人想截取 特定字符串 字符串内容 如下[aaa]
asd asda 123 eee
add qq 23 ooddsa dwdq asda[bbb]
adad ada d ad
ad 24 12e
如此 需要 取出[aaa]与[bbb] 之间内的 内容
请 大侠们 指教一二啊
asd asda 123 eee
add qq 23 ooddsa dwdq asda[bbb]
adad ada d ad
ad 24 12e
如此 需要 取出[aaa]与[bbb] 之间内的 内容
请 大侠们 指教一二啊
String str1 = "[aaa]";
String str2 = "[bbb]";
String str3 = str.replaceAll(str1,"*");
String str4 = str3.replaceAll(str2,"*");
String[] strArr = str4.split['*'];
你试试行不行
asd asda 123 eee
add qq 23 ooddsa dwdq asda[bbb]
需要 取出[aaa]与[bbb] 之间内的 内容
是要取出
asd asda 123 eee
add qq 23 ooddsa dwdq asda这些字母?
正则也可以实现,不过不太好理解而已
String a="[aaa] asd asda 123 eee add qq 23 oo ddsa dwdq asda [bbb] adad ada d ad ad 24 12e";
String b =a.substring(a.indexOf("[aaa]")+5,a.indexOf("[bbb]"));
//正则提取
public static List<String> getContext() {
//String html="kk<p>123456</p>ssss";
String html="ss<p>kk</p>ss";
List<String> resultList = new ArrayList<String>();
Pattern p = Pattern.compile("<p>([^</p>]*)");//匹配<p>开头,</p>结尾的文档
Matcher m = p.matcher(html );//开始编译
while (m.find()) {
resultList.add(m.group(1));//获取被匹配的部分
}
return resultList;
}
如上。楼主的要求原理类似
"ddsa dwdq asda\n\n[bbb]\nadad ada d ad\nad 24 12e";
Pattern p = Pattern.compile("(?<=\\[aaa\\]).*?(?=\\[bbb\\])", Pattern.DOTALL);
Matcher m = p.matcher(str);
m.find();
System.out.println(m.group());输出:
asd asda 123 eee
add qq 23 ooddsa dwdq asda