Анализ RTF-файлов в основном тривиален.Они на самом деле текстовые, а не двоичные (как документ PDF и т. Д.).В последний раз, когда я его использовал, я помню, что формат файла тоже не был слишком сложным.
Пример:
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22 Username Password\par
Username2 Password2\par
UsernameN PasswordN\par
}
Выполните совпадение с регулярным выражением, чтобы получить последнюю часть { ... }
.По совпадению {
не \{
.Затем, проанализируйте текст, как вы хотите, но имейте в виду, что:
- все, что начинается с
\
, экранировано, я бы написал небольшую функцию для удаления текста - специальный идентификатор \ par для новой строки
- существуют другие специальные идентификаторы, такие как
\b
, который включает жирный текст - идентификатор изменения цвета,
\cfN
изменяет цвет текста в соответствии св таблицу цветов, определенную в заголовке файла.Вы можете игнорировать этот идентификатор, поскольку речь идет о простом тексте.