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

Class1:[null][null][null][null][null][null][null]
Class2:[null][null][null][null][null][null][null]
Class3:[null][null][null][null][null][null][null]
Class4:[null][null][null][null][null][null][null]
Class5:[null][null][null][null][null][null][null]
Class6:[null][null][null][null][null][null][null]
Class7:[null][null][null][null][null][null][null]
Class8:[null][null][null][null][null][null][null]

请问这样的数据,想读取每个'[' ']'之间的内容,如何读取?
使用正则表达式么?


        String claLine = null; //一行数据
        String claItems = null;
        
        //文件读取操作
        while((claLine = br.readLine()) != null){
            
            claItems = claLine.substring(7);
            //如何读取每个中括号中的数据啊?
        }
阅读 3.9k
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;
    }

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题