Java Poi 提取${}占位符并组装map.put

该代码段读取一个Word文档,遍历表格和段落,寻找以美元符号开头和花括号结尾的字符串,将其作为关键词提取出来。主要涉及到文件输入输出、XWPFDocument处理以及字符串操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看下思路就行了,实际还有bug

public static void getPlace() throws IOException {
        Set<String> placeList=new LinkedHashSet<>();
        XWPFDocument doc = new XWPFDocument(
                new FileInputStream("src")
        );

        List<XWPFTable> ta=doc.getTables();
        System.out.println("---------------------");
        ta.forEach(i->{
            i.getRows().forEach(r->{
                r.getTableCells().forEach(cell->{
                    placeList.add(cell.getText());
                });
            });

        });

        System.out.println("----");
        List<XWPFParagraph>pg= doc.getParagraphs();

        pg.forEach(e->{
            String temp=e.getText();
            int start=0;
            int end=0;
            int sign=0;
            for (int index=0;index<temp.length();index++){
                switch (temp.charAt(index)){
                    case '$':{
                        if((index+1!=temp.length())&&temp.charAt(index+1)=='{')
                        {start=index;sign=1;}
                        break;
                    }
                    case '}':{
                        if (sign==1){
                            end=index;
                            placeList.add(temp.substring(start,end+1));
                            sign=0;
                        }
                    }
                }
            }
        });

        System.out.println(placeList);

        placeList.forEach(s -> {
            System.out.println("params.put(\""+s+"\",\"----\");");
        });
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值