我正在寻找从大字符串中提取三个字符串的最佳方法。
我的字符串如下
x= " some test.... some text (some text, equipmentName: 'XXX', equipmentNumber: 'yyy', equipmentSlot: ‘zzz’) some text"
我想提取三个字符串。
String1 = "equipmentName: 'XXX'"
String2= "equipmentNumber: 'yyy'"
String3 = "equipmentSlot: ‘zzz’"
我应该使用模式匹配器还是仅使用普通的旧Java索引,等等的最后索引...
最诚挚的问候。
String x= " some test.... some text (some text, equipmentName: 'XXX', equipmentNumber: 'yyy', equipmentSlot: ‘zzz’) some text";
List<String> result = new ArrayList<>();
Pattern pattern = Pattern.compile("(equipment\\w+: ['|‘]\\w+['|’])");
Matcher matcher = pattern.matcher(x);
while(matcher.find()) {
result.add(matcher.group());
}
result.forEach(System.out::println);
输出:
equipmentName: 'XXX'
equipmentNumber: 'yyy'
equipmentSlot: ‘zzz’