RTF文本为空
Is RTF text empty
在C++中有没有一种简单的方法来判断RTF文本字符串是否有任何内容,除了纯格式之外。
例如,这个文本只是格式化,这里没有真正的内容:
{rtf1ansiansicpg1252deff0deflang1033{fonttbl{f0fnilfcharset0 MS Sans Serif;}}
在RichTextControl中加载RTF文本不是一个选项,我想要一些快速工作并且需要最少资源的东西。
唯一可靠的方法是编写自己的RTF解析器[spec],使用像LibRTF这样的库,或者您可以考虑打开RichTextControl并用新的RTF文档更新它,而不是每次都销毁对象。
我相信RTF不是一种常规语言,因此RegEx无法正确解析(与HTML不同,尽管有数百万次尝试),但您不需要编写完整的RTF解析器。我将从一个简单的字符串解析器开始。尝试:
- 删除{\和}之间的内容
- 移除标签。标记以反斜杠\开头,后面跟着一些文本。如果反斜杠后面跟着空白,则它不是标记
- 文档应至少以一个大括号结尾,}
任何不是空白的内容都应该是文档内容,尽管这可能有一些例外,所以您需要在大量RTF样本上进行测试。
相关文章:
- 文本文件中的单词链表
- 从命令行c++发送文本文件名
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何在c++中从文本文件中逐行读取整数
- 如何创建一个QTableWidgetItem,用长文本右对齐,左边有省略号
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- Visual C++ Load rtf 文档在丰富编辑框中包含图像和文本
- 如何保存TRichEdit文本RTF(c++代码设备)的特定部分
- RTF文本为空
- C++:将输出文本格式化为.doc/.docx/.rtf(第2部分)