我有一些看起来像这样的数据
myobject{keyone:"valueone",keytwo:"valuetwo",keythree:"valuethree"}
myobject{keyone:"valueone",keytwo:"valuetwo",keythree:"valuethree"}
myobject{keyone:"valueone",keytwo:"valuetwo",keythree:"valuethree"}
我想知道从它创建一堆对象的最佳方法是什么。我写了以下正则表达式来提取特定Key的所有值...
Pattern p_keyone = Pattern.compile("keyone:\"(.+?)\"\\,");
Matcher match_keyone = p_keyone.matcher(string);
while(match_keyone.find()) {
myobjects.add(new MyObject(match_keyone.group(1));
}
这给了我一堆带有单个参数的对象......
myobjects.add(<valueone>);
有没有办法可以执行单个正则表达式查询并创建一堆对象,一次性将所有值作为参数。像这样......
new MyObject( <valueone>, <valuetwo> , <valuethree> );
由于
答案 0 :(得分:0)
你的做法还不错。
您可以改变的事情很少,但这取决于您的要求是否有意义:
答案 1 :(得分:0)
String.split()
可以提供帮助:
String line = "myobject{keyone:\"valueone\",keytwo:\"valuetwo\",keythree:\"valuethree\"}"
// ^-----[0]------^ ^--[1]-^ ^--[2]-^ ^--[3]-^ ^--[4]---^ ^--[5]---^ ^[6]
String[] parts = line.split("\"");
MyObject myObject = new MyObject(parts[1], parts[3], parts[5]);