有关如何在Java中解析字符串的快速问题:
我有以下字符串:"name: Banana cake, made with sugar, glycemicindex: 47"
,并且我尝试提取(1)在"name:"
之后和", glycemicindex: 47"
之前的字符串(因此是字符串"Banana cake, made with sugar"
)和(2)在"glycemicindex:"
之后的字符串(因此字符串47
)。
本质上,我有一堆格式为"name: [name data], glycemicindex: [glycemicindex data]"
的数据点,我想提取名称数据和glycemicindex数据并将它们存储在列表中。
有关如何执行此操作的任何想法?谢谢!感谢您的帮助:)
最佳答案
如果这是为了快速而肮脏的破解,则可以使用正则表达式:
String text = "name: Banana cake, made with sugar, glycemicindex: 47";
Pattern pattern = Pattern.compile("name: (.*) glycemicindex: (\\d+)");
Matcher matcher = pattern.matcher(text);
if (matcher.matches()) {
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
如果打算将其作为健壮系统的一部分,则应获取此格式的确切说明并进行相应的解析(不一定要使用regex)。