Java 将字符串拆分为映射
我有以下字符串:Java 将字符串拆分为映射,java,regex,string,map,split,Java,Regex,String,Map,Split,我有以下字符串: ... field [ name = marked value = false ] field [ name = currenFolder value = null ] ... 它基本上是以这种方式保存在数据库中的对象。现在我想创建这两个字段的映射(不确定这是否是最佳解决方案,但无论如何;-)。一些建议将是伟大的!地图上应标有as键、as值false等。。谢谢你的帮助 我想正则表达式会起作用 如果使用,则可以使用提取名称和值: import java.util.*; 导入ja
...
field [
name = marked
value = false
]
field [
name = currenFolder
value = null
]
...
它基本上是以这种方式保存在数据库中的对象。现在我想创建这两个字段的映射(不确定这是否是最佳解决方案,但无论如何;-)。一些建议将是伟大的!地图上应标有as键、as值false等。。谢谢你的帮助
我想正则表达式会起作用
如果使用,则可以使用提取名称和值:
import java.util.*;
导入java.util.regex.*;
公共类地图
{
公共静态void main(字符串[]argv)
{
String=“…\n字段[\nname=marked\n值=false\n]\n”
+“字段[\nname=currenFolder\n值=null\n]\n..\n”;
Map Map=newhashmap();
模式p=Pattern.compile(“field.(?s).name=(.*?).value=(.*?)”;
匹配器m=p.Matcher(字符串);
while(m.find())
map.put(m.group(1)、m.group(2));
系统输出打印项次(map);
}
}
请用您正在使用的编程语言标记问题。您认为应该将该对象序列化为json字符串并保存,然后您可以将该字符串还原为哈希类型谢谢。但问题不在于如何保存,而在于如何从保存的数据中重新创建地图。我想正则表达式会起作用。例如,拆分(“字段”),这是一个开始,但我只是错过了这个想法。暗示?
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);
}
}