【问题标题】:RTF file to TXT/CSV file in objective-c?在objective-c中将RTF文件转换为TXT/CSV文件?
【发布时间】:2013-10-22 01:18:12
【问题描述】:

我有包含此类内容的 RTF 文件:

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 格式,否则试图弄清楚许多正则表达式听起来很危险。

我在 Internet 上找到的内容主要集中在使用 iOS 中不可用的 Windows 语言和库。

【问题讨论】:

    标签: ios csv rtf file-conversion


    【解决方案1】:

    所有 rtf 标签的格式为\xxx。 尝试使用像 "\\S+" 这样的正则表达式并删除所有匹配项或不替换。 对于您的示例,您最终会得到 { number1a} 这将删除任何后跟任何字符的反斜杠。

    【讨论】:

    • 它应该可以工作,但我会松开 \row、\cell 和其他一些相关的,这会使我失去换行符/制表符信息(如果我想保留 col/row,我必须保留这些信息)信息)。我也会松散包含反斜杠的文本。不过谢谢!
    • 现在获得了另一种文件格式,对我来说不那么重要了。我仍然觉得奇怪的是格式没有更好地定义。还手动解析它,使用正则表达式并且没有格式规范的详尽知识听起来“不平凡”......
    • 我不了解objective-c,但我会在c#中将临时richtextbox的RTF属性设置为您拥有的数据,然后读取它的Text属性.这只会得到纯文本。
    • 如果您指的是 RTF 规范,这里有一个版本:biblioscape.com/rtf15_spec.htm
    猜你喜欢
    • 2012-06-18
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多