java如何截取最近的两个字符串中的字符?

2025-03-11 04:30:58
推荐回答(1个)
回答1:

public class Demo {
public static void main(String[] args) {
String temp = "<前>aa<后>dsfsdfsdfsdaf<前>bb<后>";
ArrayList list = getResultArrays(temp);
for (String value : list)
System.out.println("value=" + value);
}
/**

* @param str
*            带匹配字符串
* @return
*/
public static ArrayList getResultArrays(String str) {
String tempStr = null;
String value = null;
int endIndex;
ArrayList list = new ArrayList();
Pattern p = Pattern.compile("<前>(.+?)<后>");// 设定匹配规则
Matcher m = p.matcher(str);// 与字符串匹配
while (m.find()) {
tempStr = m.group();
endIndex = tempStr.indexOf(">");// 终点
value = tempStr.substring(endIndex + 1, tempStr.lastIndexOf("<"));// 从第一个结束标识的末尾,到第二个开始标识,就是内容的主体
list.add(value);
}
return list;
}
}