A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柳小龙 中级黑马   /  2013-8-8 00:52  /  1232 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String str = "Json,22,33,33";// 构造一个字符串扫描器Scanner s = new Scanner(str);// 以‘,’为分隔符扫描字串s.findInLine("(\\w+),(\\w+),(\\w+),(\\w+)");  //如果str以“,”分隔的字串特别多,就得写很多个“(\\w+)”// 返回一个匹配操作的结果
MatchResult result = s.match();
亲们,有没有更好的方式实现这个功能的,或者有更好的正则表达式,正则表达式不熟啊!!!

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

4 个回复

正序浏览
使用String的spilt()方法吧,能得到一个分割后的数组,下面是一个我的例子
  1.         public double Trans(String str)
  2.         {
  3.                 if(str==null)
  4.                         return 0;
  5.                 String[] s= str.split("[°′″'\"]");
  6.                 double lola=Double.parseDouble(s[0])+Double.parseDouble(s[1])/60+Double.parseDouble(s[2])/3600;
  7.                 System.out.println(lola);
  8.                 return lola;
  9.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你用\\w+把这个字符串切开,生成一个新字符串数组,然后用foreach循环遍历,在遍历的过程中用[1-9][0-9]判断更好
回复 使用道具 举报
本帖最后由 汪平乐 于 2013-8-8 10:34 编辑

0.0.0.......................
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马