String str = "[{name:\"孙悟空\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星驰\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}]";
我如何用正则表达式分割成{name:\"孙悟空\",sex:\"male\",age:18,job:\"student\"}这样子的
很急 求帮忙 我正则表达式学的不太好
"{name:\"周星驰\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}]";
我如何用正则表达式分割成{name:\"孙悟空\",sex:\"male\",age:18,job:\"student\"}这样子的
很急 求帮忙 我正则表达式学的不太好
解决方案 »
- 如何把struts2标签中的submit value写成活的
- 跪求日期转换问题
- hibernate事务提交问题~~急急急
- 我的数据库连不上,很怪
- Hibernate联合查询的问题
- 求教hibernate中 any 类型的用法
- 关于 No getter method for property UserName of bean org.apache.struts.taglib.html.BEAN
- ejb中如何访问远程数据库,如:sqlserver
- TextField table 等控件的事件添加问题 小女子向各位ggjj请教
- .NET程序员有问题问各位J二EE的兄弟姐妹们:...
- EJB 3.0 no session or session was closed,急啊!
- 关于cxf的一个超简单的报错
参考这里应该很容易解决了!呵呵
String str = "[{name:\"孙悟空\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星驰\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}]";
//方法一:用正则匹配
Matcher m = Pattern.compile("(\\{[^\\}]+})").matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
//方法二:用正则分割
str = str.substring(1, str.length()-1); //去掉两边的中括号
String arr [] = str.split("(?<=\\}),(?=\\{)");
for(String item:arr){
System.out.println(item);
}
"{name:\"周星驰\",sex:\"male\",age:18,job:\"student\"}," +
"{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}]";
Scanner sc = new Scanner(str);
while (sc.hasNext()) {
System.out.println(sc.findInLine("\\{[^\\}]+\\}"));
}