java字符串解析问题

黑色的熊猫 2015-12-23 10:15:58
cnp([{"id":"J_177183","p":"398.00","m":"449.00"}]);怎么取到p的值。本来想用先去掉双引号,然后再用p:分割后成数组,再到数组里面取,取到后再用逗号分割才能拿到。除了这个有没有更好的方法。
...全文
165 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京不不 2015-12-23
  • 打赏
  • 举报
回复
s.substring(s.indexOf("\"p\":\"")+5, s.indexOf("\",\"m\"")) //找到 "p":" 开始的位置,从该字符串末尾开始(所以加5位字符)截取,截取到 ","m"开始,结果为 398.00
南猿北辙 2015-12-23
  • 打赏
  • 举报
回复
使用正则会方便些 public void test3() { // 需要匹配的原文本 String testString = "cnp([{\"id\":\"J_177183\",\"p\":\"398.00\",\"m\":\"449.00\"}])"; // 正则表达式 String regex = "\"p\":\"(\\d{1,}.\\d{1,})\""; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(testString); String pValue = null; // 若配到将group1的值赋给 pValue if (matcher.find()) { pValue = matcher.group(1); } // 控制台打印pValue System.out.println(pValue); }
「已注销」 2015-12-23
  • 打赏
  • 举报
回复
用json吧,直接转为json串,可以直接去key的value值。java自带的json,第三方的json,都很方便
lgoodbook 2015-12-23
  • 打赏
  • 举报
回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧