Регистрация  |  Вход

Можно ли отпарсить RTF файл Апексом?

Можно ли отпарсить RTF файл Апексом? привести к стрингу и взять то, что нужно?

Вот тут нашел, что можно (в отличие от файла в DOC), но сложно, так как там не чистая инфа, как например в CSV файле, а смешанная с технической информацией:

https://developer.salesforce.com/forums/ForumsMain?id=906F0000000901FIAQ

Был ли у вас опыт с этим?

Можно ли отпарсить RTF файл Апексом? привести к стрингу и взять то, что нужно?

Вот тут нашел, что можно (в отличие от файла в DOC), но сложно, так как там не чистая инфа, как например в CSV файле, а смешанная с технической информацией:
[url]https://developer.salesforce.com/forums/ForumsMain?id=906F0000000901FIAQ[/url]

Был ли у вас опыт с этим?

Тут вопрос в следующем тебе нужно распарсить, или сконвертировать ?

Если сконвертировать, то это действительно проблематично

Если распарсить и скажем найти и заменить определенные куски текста, это достаточно просто. Для этого используется REGEXP.

Тут вопрос в следующем тебе нужно распарсить, или сконвертировать ?

Если сконвертировать, то это действительно проблематично

Если распарсить и скажем найти и заменить определенные куски текста, это достаточно просто. Для этого используется REGEXP.

э-э-э
мне нужно сделать с RTF текстом, то что обычно делают с CSV файлом - просто вынуть оттуда нужную инфу. Предположительно RTF файлы будут приходить в одном формате\виде.

я думал если этот файл можно взять в стринг - то просто искать по нужному фрагмету текста то место, откуда нужно брать инфу....

Как для этого использовать RegExp?

э-э-э 
мне нужно сделать с RTF текстом, то что обычно делают с CSV файлом - просто вынуть оттуда нужную инфу. Предположительно RTF файлы будут приходить в одном формате\виде.

 я думал если этот файл можно взять в стринг - то просто искать по нужному фрагмету текста то место, откуда нужно брать инфу....

Как для этого использовать RegExp?

Как для этого использовать RegExp?

Да, лучше его использовать. По другому не сделаешь.

Вопрос в другом - а хватит у тебя heap size чтобы обработать строку с содержимым RTF.

Какого размера будут файлы и данные которые ты из них планируешь достать?

[quote]Как для этого использовать RegExp?[/quote]
Да, лучше его использовать. По другому не сделаешь.

Вопрос в другом - а хватит у тебя heap size чтобы обработать строку с содержимым RTF. 

Какого размера будут файлы и данные которые ты из них планируешь достать?

heap size 5Mb? не должен быть RTF таким здоровучим. Там пара страниц, в виде таблице (но не таблица - это как CSF) вот именно так:

-----------------------------------------------------------------------------------------------------------------------
Номер Имя Цвет
-----------------------------------------------------------------------------------------------------------------------
234 Котик Рыжий
432 Пес Серый
-------------------------------------------------------------------------------------------------------------------------

сколько строк не известно. Надо почитать RegExp, чтобы понять как с его помощью найти начало нужного места

heap size 5Mb? не должен быть RTF таким здоровучим. Там пара страниц, в виде таблице (но не таблица - это как CSF) вот именно так:

-----------------------------------------------------------------------------------------------------------------------
Номер                Имя                Цвет
-----------------------------------------------------------------------------------------------------------------------
234                   Котик             Рыжий
432                   Пес                Серый
-------------------------------------------------------------------------------------------------------------------------

сколько строк не известно. Надо почитать RegExp, чтобы понять как с его помощью найти начало нужного места

Надо почитать RegExp, чтобы понять как с его помощью найти начало нужного места

Это нужно сделать обязательно, потому что такой ответ не достоин мастера конфу, т.е. программиста.

Согласен, что составить регулярное выражение иногда доставляет много гемора, но понимать как это сделать и что в итоге получится - это из разряда обязательно!

[quote]Надо почитать RegExp, чтобы понять как с его помощью найти начало нужного места[/quote]

Это нужно сделать обязательно, потому что такой ответ не достоин мастера конфу, т.е. программиста.

Согласен, что составить регулярное выражение иногда доставляет много гемора, но понимать как это сделать и что в итоге получится - это из разряда обязательно!

а я воспринимал RegExp как полезность для валидации ввода в формы...

где то я слышал, что есть сайты-сервисы который помогают с написанием RegExp...

но по любому надо самому разбираться...

а я воспринимал RegExp  как полезность для валидации ввода в формы...

где то я слышал, что есть сайты-сервисы который помогают с написанием RegExp... 

но по любому надо самому разбираться...

Почитал статью о RegExp в блоге, попробовал что-то простое - вроде получается.

Но как открыл описание методов Matcher Class - смотрю на них как баран на новые ворота, и ничего не понимаю.
Зачем там group() ? зачем там region() ?
и нет хороших поясняющих примеров.

Почитал статью о RegExp в блоге, попробовал что-то простое - вроде получается.

Но как открыл описание методов Matcher Class - смотрю на них как баран на новые ворота, и ничего не понимаю.
Зачем там group() ? зачем там region() ? 
и нет хороших поясняющих примеров.

Den Brown
Почитал статью о RegExp в блоге, попробовал что-то простое - вроде получается.

Но как открыл описание методов Matcher Class - смотрю на них как баран на новые ворота, и ничего не понимаю.
Зачем там group() ? зачем там region() ?
и нет хороших поясняющих примеров.


Насколько я помню группы есть некие выражения в скобках регулярных значений первая, вторая вообщем книгу тебе в руки типа Фридл Джеффри Регулярные выражения.Любое выражение можно разбить например split без регулярных выражений, но это будет зависить от тебя будет у тебя 3 знака регулярных выражений или 50 строк кода для парса одной строки.

[quote="Den Brown"]Почитал статью о RegExp в блоге, попробовал что-то простое - вроде получается.

Но как открыл описание методов Matcher Class - смотрю на них как баран на новые ворота, и ничего не понимаю.
Зачем там group() ? зачем там region() ? 
и нет хороших поясняющих примеров.[/quote]
Насколько я помню группы есть некие выражения в скобках регулярных значений первая, вторая вообщем книгу тебе в руки типа Фридл Джеффри Регулярные выражения.Любое выражение можно разбить например split без регулярных выражений, но это будет зависить от тебя будет у тебя 3 знака регулярных выражений или 50 строк кода для парса одной строки.