我有以下字符串:
...
field [
name = marked
value = false
]
field [
name = currenFolder
value = null
]
...
基本上是以这种方式保存在数据库中的对象。我现在想要创建这两个字段的地图(不确定这是否是最佳解决方案,但无论如何;-)。一些建议会很棒!地图应标记为关键,值为false等。感谢您的帮助!!
答案 0 :(得分:0)
我想正则表达式可以解决问题。
如果您使用regex
,则可以使用Capturing groups提取名称和值:
import java.util.*;
import java.util.regex.*;
public class map
{
public static void main(String[] argv)
{
String string = "...\nfield [\nname = marked\nvalue = false\n]\n"
+ "field [\nname = currenFolder\nvalue = null\n]\n...\n";
Map<String, String> map = new HashMap<String, String>();
Pattern p = Pattern.compile("field .(?s).name = (.*?).value = (.*?).]");
Matcher m = p.matcher(string);
while (m.find())
map.put(m.group(1), m.group(2));
System.out.println(map);
}
}