将文档拆分为带有标题的页面(Was:java中的棘手问题)
我有个棘手的问题将文档拆分为带有标题的页面(Was:java中的棘手问题),java,sqlite,foreach,Java,Sqlite,Foreach,我有个棘手的问题 我正在尝试用sqlite保存文档页面。问题是我希望在某些方面,比如当它找到字体时如果我了解您的设计,您正在这样做: 将字符串拆分为段落 通过一次添加一个段落来构建页面 在将段落添加到页面后,通过将整个页面拆分为单词并查找包含HTML字体标记开头的单词,检查是否有标题 如果您找到了一个标题或页面超过180个单词,则认为该页面已完成 因此,如果您想将标题放在顶部,请先检查段落中的标题,然后再将其添加到页面中。当然,这也假设您检测标题的方式首先是准确的(我不太确定…) 尝试以下方法:
我正在尝试用sqlite保存文档页面。问题是我希望在某些方面,比如当它找到字体时如果我了解您的设计,您正在这样做:
那应该行…你是南卡罗来纳小姐吗?例如:-)prep对象是什么,表是什么样子的?通过构造表,您应该能够将标题放在前面,这样就可以通过这种方式检索到它。这里的prep是针对sqlite的prepare语句的。我不知道在这种情况下,表结构必须如何做。。这个表非常简单,它有两列,一列名为id,另一列名为page,用于保存页面。。
Integer i=0;
int j= 0;
StringBuilder page = new StringBuilder();
String [] paragraphs = content.split("\n");
for (String paragraph : paragraphs){
i++;
page.append(paragraph).append("\n");
Integer length = paragraphs.length;
String stringPage=page.toString();
stringPage= stringPage.replaceAll("\n","<br/>");
String[] pageContents = stringPage.split(" ");
boolean beginOfStory=false;
for (String pageContent:pageContents){
if(pageContent.contains("<font")){
beginOfStory=true;
break;
}
}
if(pageContents.length >180 || beginOfStory){
j++;
prep.setLong(1, j);
prep.setString(2, stringPage);
prep.addBatch();
page =new StringBuilder();
}
}