有关如何在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)。

10-06 10:04