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