gpt4 book ai didi

java - 使用java中的正则表达式从下面的字符串中获取值

转载 作者:行者123 更新时间:2023-12-02 11:05:51 25 4
gpt4 key购买 nike

我是正则表达式的初学者。

我有以下字符串:

失败:2,成功:1,获取:1

输出映射:获取包含所有键值的映射,如下所示:

失败 - 2(键=失败,值=2)

成功 - 1

获取 - 1

我尝试使用以下解决方案:

public static void main(String arg[]) {            
String msg = "fail:1,success:1,policyfetch:1";
System.out.println(getKeyValuesFromMsg(msg));
}

public static Map getKeyValuesFromMsg(String msg) {
if (msg != null) {
Map keyvalues = new HashMap();
Pattern p = Pattern.compile("(\\w+):(,+)");
Matcher m = p.matcher(msg);
while (m.find()) {
keyvalues.put(m.group(1), m.group(2));
}
return keyvalues;
} else
return Collections.emptyMap();
}

最佳答案

您可以使用 split 函数,以下代码片段应该可以正常工作

Map<String,String> map = new HashMap();
String str = "fail:2,success:1,fetch:1";
String[] keyValueParts = str.split(",");
for(String s : keyValueParts){
String parts[] = s.split(":");
map.put(parts[0],parts[1]);
}

System.out.println(map);

关于java - 使用java中的正则表达式从下面的字符串中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com