java - 将字符串存储到带有出现的哈希图中
问题描述
我有一个返回某种字符串的方法。我想将单个单词及其出现次数存储在 HashMap 中?
public static void main(String[] args) {
String s = "{link:hagdjh, matrics:[{name:apple, value:1},{name:jeeva, value:2},{name:abc, value:0}]}";
String[] strs = s.split("matrics");
System.out.println("Substrings length:" + strs.length);
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
例如,我有一个字符串- "{link: https://www.google.co.in/,矩阵:[{name:apple, value:1},{name:graph, value:2},{name :abc, 值:0}]}";
Now my hashmap should look like
apple = 1
graph = 2
abc = 0
我应该如何进行?
我知道如何使用 HashMaps。在这种情况下,我的问题是我不知道如何解析给定的字符串并将单词及其出现次数存储起来。
解决方案
String regex = "\\{name:(.*), value:(\\d+)\\}";
HashMap<String, Integer> link = new HashMap<>();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s);
while (matcher.find()){
String found = matcher.group(1);
String number = matcher.group(2);
link.put(found, Integer.parseInt(number));
}
推荐阅读
- firebase - 没有创建 Firebase 应用“[DEFAULT]” - 即使调用 Firebase.InitializeApp(),错误仍然存在
- karate - 空手道 UI:通过 CSS 定位文本
- python - Python3 - 写入 CSV 文件时的 .replace() 字符串
- swift - 如何在 Swift 中合并核心数据背景上下文和主上下文之间的更改
- java - 尝试在空对象引用 Firebase 上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)”
- python - 如何解释 PySurvival 的 predict_survival 输出?
- windows - AWS Windows EC2 在前台运行 Selenium Webdriver
- basic - 如何从 QB45 的 BIOS 中获取通讯端口地址
- ruby-on-rails - 在rails中使用`.changed?`时忽略一列
- android - 如何在 Kotlin 中使用 onActivityResult?(更新)