我想从字符串中提取特定的子字符串:
String source = "info1 info1ContentA info1ContentB info3 info3ContentA info3ContentB"+
"info2 info2ContentA";
结果应该是:
String info1 ="info1ContentA info1ContentB";
String info2 ="info2ContentA";
String info3 ="info3ContentA info3ContentB";
对我来说,提取信息非常困难,因为有时在“信息”之后它们是一个、两个或多个内容信息。发生的另一个问题是,info1、info2 等的顺序没有排序,“真实数据”不包含升序数字。
我的第一个想法是将 info1、info2、info3 等添加到 ArrayList。
private ArrayList<String> arr = new ArrayList<String>();
arr.add("info1");
arr.add("info2");
arr.add("info3");
现在我想从 Apache Commons ( https://mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.4 ) 中使用 StringUtils.substringBetween() 方法提取子字符串:
String result = StringUtils.substringBetween(source, arr.get(0), arr.get(1));
这可行,如果 info1 在 info2 之前的字符串中,但就像我说的那样,“真实数据”没有排序。
知道如何解决这个问题吗?