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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李东城 中级黑马   /  2013-2-11 14:57  /  838 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. while ((rec = br.readLine()) != null) {
  2.                                 Pattern pCells = Pattern
  3.                                                 .compile("(\"[^\"]*(\"{2})*[^\"]*\")*[^,]*,");
  4.                                 Matcher mCells = pCells.matcher(rec);
  5.                                 System.out.println("mCells==============>"+mCells);
  6.                                 List<String> cells = new ArrayList<String>();//每行记录一个list
  7.                                 //读取每个单元格
  8.                                 while (mCells.find()) {
  9.                                         str = mCells.group();
  10.                                         str = str.replaceAll(
  11.                                                         "(?sm)\"?([^\"]*(\"{2})*[^\"]*)\"?.*,", "$1");
  12.                                         str = str.replaceAll("(?sm)(\"(\"))", "$2");
  13.                                         cells.add(str);
  14.                                 }
  15.                                 listFile.add(cells);
  16.                         }
复制代码
我是用来读取文本中的数据的,
文本的行是这样的:
ip,status,roomid,mac,description
169.122.13.23,inactive,123,23:42:34:23:42:34,TT0

读出来的却是这样的
ip,status,roomid,mac
169.122.13.23,inactive,123,23:42:34:23:42:34

经过正则处理以后最后一列不见了

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马