我有一根像这样的线:
String subject = "Subject Line: <abc> <def> <ghi> some text <hjk>";
我想将其分解并将值放入Map集合中,如下所示:
Map<String, Boolean> maps = new LinkedHashMap<>();
maps.put("Subject Line: ", false);
maps.put("abc", true);
maps.put("def", true);
maps.put("ghi", true);
maps.put(" some text ", false);
maps.put("hjk", true);
1条答案
按热度按时间qyuhtwio1#
如果您稍微更改一下正则表达式,可以使用您的代码:
您基本上会在之前查找标记和任何可选的“非标记”文本。最后一个标记后面的任何文本都将是具有该值的最后一个键
false
.我得再深入研究一下这个问题
Matcher
api,但似乎没有简单的方法来获得“余数”,因为appendTail()
等。没有任何事先通知,不得工作appendReplacement()
. 因此,您需要稍微扩展一下循环: