考虑以下TreeSet:
此套装有两个主要词语蓝色和红色以及不同的关键词。
我需要按照这些主要词汇进行分组,以便获得包含所有可能关键词的列表。类似的东西:
我认为步骤应如下:
有人可以给我一个建议如何完成它以及我需要什么?
答案 0 :(得分:1)
我认为你不需要正则表达式。使用String.split(" ")
在空格上拆分每个字符串,然后检查第一个项目,将其与“主要”字词列表进行比较。
TreeSet<String> originalSet = // as per question
List<String> mainWords = Arrays.asList("blue", "red");
Map<String, Set<String>> words = new HashMap<>();
for(String mainWord : mainWords) {
words.put(mainWord, new HashSet<String>());
}
for(String line : originalSet) {
String[] items = line.split(" ");
if(words.keySet().contains(items[0])) {
for(int i = 1 ; i < items.length ; i++) {
words.get(items[0]).add(items[i]);
}
}
}