使用Guava库,如果我想从字符串中提取键值对(样本在下面)
id=1234 name="Amy Winehouse" age=27
,其中
如何创建这样的MapSplitter
?
答案 0 :(得分:1)
这样可以解决问题:
String input = "id=1234 name=Amy fullname=\"Amy Winehouse\" age=27";
Map<String, String> result = Splitter.onPattern("\\s(?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)")
.withKeyValueSeparator(Splitter.onPattern("="))
.split(input);
输出:
{id=1234, name=Amy, fullname="Amy Winehouse", age=27}