2013-10-14 61 views
2

我有一個包含那種內容RTF文件:RTF文件到目標c中的TXT/CSV文件?

long_text_description_1  number1a  number1b  number1c 
long_text_description_2  number2a  number2b  number2c 
long_text_description_3          number3c 
long_text_description_4  number4a  number4b  number4c 
… 

我需要提取純原始文本沒有顏色,字體和其他格式的事情。 我需要保留的唯一東西是最基本的行/列信息,理想情況下我想要一個CSV文件。

的文件,我得到包含所有格式:

{\cs18\lang1033\langfe1033\f0\b\i0\ul0\strike0\scaps0\fs15\afs15\charscalex100\expndtw0\cf1\dn0 number1a} 

什麼是去除所有RTF信息,而只保留該行信息的最佳方式? 試圖弄清楚自己,許多正則表達式聽起來很危險,除非對RTF格式有完整的理解。

我在互聯網上可以找到的主要集中在使用Windows語言&庫在iOS中不可用。

回答

0

所有rtf標籤的格式爲\xxx。 嘗試使用像「\\ ​​S +」這樣的正則表達式,並刪除所有匹配或替換爲無。 對於你的例子,你將以{ number1a}結束這將刪除任何字符後面的反斜線。

+0

它應該工作,但我會放鬆\行,\單元格和其他一些相關的,這將使我鬆散的換行符/標籤信息(如果我想保留列/行信息,我必須保留)。另外我會鬆散包含反斜槓的文本。但是,謝謝! – MikaelW

+0

獲得了另一種文件格式,現在對我來說不那麼重要。我仍然覺得奇怪的是格式沒有更好的定義。也手動解析它,使用正則表達式,並沒有詳盡的格式規格說明聲音「不平凡」... – MikaelW

+0

我不知道有關Objective-C,但我會在C#中做的是設置'RTF'屬性一個臨時的richtextbox到你有的數據,然後讀取它的'Text'屬性。這隻會得到純文本。 – Jerry