2013-03-12 48 views
1

我想創建,這將能夠解析該文件的DOC/DOCX文件結構的應用波紋管顯示:.NET程序來解析doc文件

par-000.01 - some content 
par-000.21 - some content 
par-000.31 - some content 
par-001.32 - some content 

內容可以是多行不正規。我想要做的就是把這些內容放到數據庫中,我的意思是第一條記錄 - par-000.01轉換成code列和some content轉換成文本列。
我無法手動執行此操作的原因是,我有大約15個文檔,其中每個文檔都包含大約10頁我想放入數據庫的段落。
我找不到任何文章我如何解析整個文檔文件,所以我相信如果我寫適當的正則表達式可能是可能的。任何人都可以重定向我的文章,我怎麼能做我想做的 - 我找不到任何適合我的東西,可能我使用了錯誤的關鍵詞。

+0

到目前爲止你做了什麼? – w0051977 2013-03-12 18:26:08

+0

實際上現在我可以逐行加載文件,並將其存儲在字符串生成器中。但這種使用正則表達式的方式並不是很有效。 – Mithrand1r 2013-03-12 18:27:28

+0

如果您已經能夠逐行讀取doc,您爲什麼需要RegEx?只要找到段落中斷並保存它? – 2013-03-12 18:37:32

回答

3

既然你說你有合理的數據量,15個文檔* 10頁/ doc *〜100行/頁= 15000行,這可以在word文檔中管理,並且您沒有說這是重複數據饋送,即,這是一次性轉換,我會使用編輯器支持全局查找和替換,並轉換爲逗號分隔變量格式。我知道的大部分數據庫都可以加載CSV文件。

我知道你要的C#應用​​程序,但是這是矯枉過正的時間和精力,根據您的問題

所以

  1. 轉換'<start of line>''<start of line>"'
    爲MS Word中使用查找和替換
    找到:^ p
    替換爲:^ &「

  2. ' - '轉換爲'","'
    用於MS Word的查找和替換
    find:' - '注意:不要添加刻度標記。
    取代: 「」

  3. 轉換'<end of line>''"<end of line>'
    爲MS Word中使用查找和替換
    發現:^ P
    取代:「^ &

  4. 手動修復了第一線的開始和最後一行的結尾

你應該得到

「PAR-000.01」, 「一些內容」
「PAR-000.21」, 「一些內容」

現在只需使用其CSV負荷加載到數據庫中。

另外,如果你堅持用C#做這件事,那麼你應該認識到,你可以將文本保存爲一個* .txt文件,而不用所有的Word標籤,並且用C#應用程序拆分會更容易。不要着迷於Word標籤,只是用創造性思維來解決問題。

+0

是的,只需將它保存爲文本並從那裏解析即可。 – 2013-03-12 22:08:00