编程语言
首页 > 编程语言> > Java将HTML变为text

Java将HTML变为text

作者:互联网

前两天让把库里存的clob字段中的HTML格式字符串转变为纯文本并保留格式,网上看了一下方法很多,找了一种试了试。

        通过jericho包,将字符串中的文本按照标签读取出来。

        例如:Source src = new Source(fact);  // 获取文本

     List<Element> allElements = src.getAllElements(HTMLElementName.P);  //p标签获取文本内容

      Source src = new Source(fact);
                fact = src.getTextExtractor().toString().trim();
                int length = fact.length();
                int n = 1;
                List<Element> allElements = src.getAllElements(HTMLElementName.P);
                List<Element> allElementsol = src.getAllElements(HTMLElementName.OL);
                for(int i = 0;i<allElements.size();i++){
                    if(allElementsol.size() > 0){   //带编号
                        for(int j = 0;j<allElementsol.size();j++){
                            if(allElements.get(i).getBegin() > allElementsol.get(j).getBegin() && 
                                    allElements.get(i).getEnd() < allElementsol.get(j).getEnd()){
                                List<Element> allElements2 = allElementsol.get(j).getAllElements(HTMLElementName.P);
                                substring = allElements.get(i).getTextExtractor().toString().trim();
                                
                                if(j > 0){
                                    sbS.delete(sbS.length()-substring.length()-1, sbS.length());
                                }
                                sbS = sbS.append(n+"."+substring);
                                sbS.append("\r");
                                if(n == allElements2.size()){
                                    n=1;
                                }else{
                                    n++;
                                }
                                break;
                            }else{
                                substring = allElements.get(i).getTextExtractor().toString().trim();
                                if(j>0){
                                    continue;
                                }else{
                                    sbS = sbS.append(substring);
                                    sbS.append("\r");
                                }

                            }
                            
                        }        
                    }else{
                        substring = allElements.get(i).getTextExtractor().toString().trim();
                        sbS = sbS.append(substring);
                        sbS.append("\r");
                    }
                
                }
                fact = sbS.toString();

上面是主体代码,只能处理空格及编号。

标签:sbS,Java,get,text,allElements,substring,HTML,src,append
来源: https://www.cnblogs.com/axkbk/p/13865646.html