2010-11-17 45 views
0

我有一個棘手的問題 我試圖在sqlite中保存頁面的文檔..事情是我想在某些點讓我們說當它找到字體<字體標籤,它是如此之短,我想這一章的標題是頁面的開頭標記文檔的章節..的冠軍。所以我這樣做,代碼`將文檔拆分爲帶有標題的頁面(問題:java中的棘手問題)

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(); 

    } 

} 

當然,我知道這使標題成爲頁面中的最後一個東西,並且它在它後面開始新的頁面但我希望標題在新的頁面中對我和我來說都很棘手不能得到它的線索..任何幫助..我已經描述它將

在此先感謝

+1

是你錯過了南卡羅來納?所以如:-) – zod 2010-11-17 22:06:55

+1

沒有得到這個笑話:D – 2010-11-17 22:24:29

+0

什麼是準備對象和表是什麼樣子?您應該能夠通過構建表格來獲得標題,以便可以通過這種方式進行檢索。 – MikeAinOz 2010-11-18 00:10:11

回答

0

如果我理解你的設計,你這樣做是:

  1. 將字符串分割成段。
  2. 通過一次添加段落一個構建頁面
  3. 添加完款到您的網頁,你檢查,看看是否有標題打破了整個頁面成文字,並尋找一個字包含HTML字體標籤的開頭。
  4. 一個頁面會被認爲是完整的,如果你發現了一個標題,或者如果你想要把冠軍在頂部檢查標題首先你把它添加到以前段落有超過180個字

所以你的頁面。當然,這還假定您檢測技術職稱的方法是首先準確(這我比一定的...以下)

試試這個辦法:

  1. 分割成段
  2. 檢查該段爲標題標記
  3. 如果標題中發現商店當前頁面,並用標題段落再掀作爲第一款
  4. 如果沒有找到標題添加段落和檢查頁面長度
  5. 如果頁面長度達到邊界商店頁面,並開始另一個空白頁

這應該工作...