开发者社区 问答 正文

java 如何处理指定格式的字符串数据?

`Class1:nullnullnull[null]
Class2:nullnullnull[null]
Class3:nullnullnull[null]
Class4:nullnullnull[null]
Class5:nullnullnull[null]
Class6:nullnullnull[null]
Class7:nullnullnull[null]
Class8:nullnullnull[null]`
请问这样的数据,想读取每个'[' ']'之间的内容,如何读取?
使用正则表达式么?

        String claLine = null; //一行数据
        String claItems = null;
      //文件读取操作
        while((claLine = br.readLine()) != null){
            claItems = claLine.substring(7);
            //如何读取每个中括号中的数据啊?
        }

展开
收起
蛮大人123 2016-03-10 12:06:13 2238 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    不是特别熟悉正则,不过下面有一种实现方式:

        public List<String> extract(String line) {
            Pattern p = Pattern.compile("\\[.*?\\]");
            Matcher m = p.matcher(line);
            List<String> result=new ArrayList<String>();
            while(m.find()){
                result.add(m.group().replaceAll("\\[|\\]", ""));
            }
            return result;
        }

    先提取出所有的[...], 然后再将每个字符串中的[]替换成“”

    2019-07-17 18:57:25
    赞同 展开评论