在 Java 中解析字符串以提取数据

use*_*343 0 java string parsing

关于如何在 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]"我想提取名称数据和血糖指数数据并将它们存储在列表中。

关于如何做到这一点的任何想法?谢谢!我感谢任何帮助:)

Pio*_*zmo 5

如果这是为了快速和肮脏的黑客,您可以使用正则表达式:

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));
}
Run Code Online (Sandbox Code Playgroud)

如果这是健壮系统的一部分,您应该获取此格式的确切规范并相应地对其进行解析(不一定使用正则表达式)。