我試圖解析RTF文件中粗體文本的行。現在,我通過使用Regex並在文件中查找「\ b ... \ b0」標籤來做到這一點,但是留下了很多格式化文本,並且RTF中有很多格式化標籤我不能僅僅將它全部編碼並稱之爲一天。是否有一個更優雅的現有解決方案來解析只有特定格式的行?解析來自RTF的格式化文本
回答
我會用一個RTF分析器...想起RichTextBox
。有幾種使用RTB獲取格式的方法。
不,我最近處理了一個項目,在這個項目中,我們不得不採取一個RTF文檔,並使用嵌入式媒體,並將其轉換爲MIME多部分郵件。我們構建了幾套RegEx來分解文檔的各個部分,然後將每個格式選項轉換爲適當的HTML/CSS標籤。真的沒有一種「優雅」的方式去做你想做的事。
你想用RTF做什麼?我們的最終目標是提供RTF的HTML轉換。我知道在WPF世界裏,RichTextBox能夠保存爲幾種格式,比如XAML,這樣可以擺脫自己處理解析的需要。
此外,市場上有RTF轉換器,所以在更多的上下文中,我可以提出更好的建議。
我正在嘗試使用RTF文件,並將所有加粗的文本分離出來,並分成幾行。每個「行」將被確定爲同一行中粗體文本的不同部分,但由非粗體文本或由換行符打斷的任何粗體文本塊分隔。最終,我想最終得到一個純文本字符串列表,其中包含RTF文件中粗體顯示的每行文本。 – Abion47
好吧,我在這裏有一個正則表達式模式,它可以匹配任何以粗體命令開始的運行。現在,我沒有考慮到每一種情況。如果您想接受特殊字符(!。,{}等),您將不得不修改您的正則表達式或修改這些字符在RTF中的存儲方式。提示:我們用令牌替換了它們。 所以,這裏是正則表達式。用它來獲取匹配列表,每個匹配都是大膽的字符。 '(?:\ {\\ b \\ ltrch \ s)(\ w *)(?:\}) – Th3BFG
我搞砸了!那麼,不是一個huuuge搞砸了,但有些事情會有所幫助。使用這個正則表達式,它會抓住粗體文本部分中的任何東西: '(?:\ {\\ b \\ ltrch \ s)(。*?)(?:\}) – Th3BFG
- 1. 解析格式化文本文件
- 2. .Net RTF Writer:如何添加預格式化的RTF文本?
- 3. 解析來自RTF文件的值> 32767的unicode
- 4. iphone以編程方式解析RTF文件格式
- 5. RichtextBox禁用自動格式化Rtf
- 6. 將RTF文本格式化爲多個文本框
- 7. 在HTML中解析/顯示RTF文本?
- 8. 外來文化XML文本解析
- 9. 使用VBA格式化來自Mulitline文本框的文本
- 10. 用PHP解析格式化的文本文件
- 11. DOM - 解析來自節點的文本
- 12. 來自非結構化文本的通用日期解析庫
- 13. 雙解析與文化格式
- 14. 解析HTML格式文本的JSONException
- 15. LinqToXml:解析和格式化
- 16. 將格式化文本文件解析爲PHP數組
- 17. 如何解析來自html表格元素的文本
- 18. 將RTF轉換爲純文本格式
- 19. 解析SQL中未格式化文本的日期
- 20. 解析HTML表和格式化了的文本
- 21. 格式化來自文本(.prn)文件的數據
- 22. RTF Java解析器
- 23. 富文本格式RTF編解碼器爲iPhone
- 24. 在Excel中將RTF(RTF格式)代碼轉換爲純文本格式
- 25. 解析任意文本數據格式
- 26. protobuf文本格式解析映射
- 27. Python:將結構化文本解析爲CSV格式
- 28. 瀏覽器解析格式化文本代碼
- 29. 解析XML並將其格式化爲文本
- 30. 如何解析和格式化文本內容到對象
幾種方法如? – Abion47