пробую так:
rtfBody = email.binaryAttachments[i].body.toString();
(примечание: на mail Listener включено Convert Text Attachments to Binary Attachments. Оно надо в данном случае?)
но в rtfBody записывается текст документа вместе с метаданными. Причем метаданные клиниваются прямо в пробелы, что затрудняет поиск подстроки с помощью RegExp.
Как взять содержание RTF файла в виде простого текста без метаданных?
может кто знает
пробую так: rtfBody = email.binaryAttachments[i].body.toString(); (примечание: на mail Listener включено Convert Text Attachments to Binary Attachments. Оно надо в данном случае?) но в rtfBody записывается текст документа вместе с метаданными. Причем метаданные клиниваются прямо в пробелы, что затрудняет поиск подстроки с помощью RegExp. Как взять содержание RTF файла в виде простого текста без метаданных? может кто знает
Боюсь что для этого придется писать парсер скобок и прочей лабуды.
[quote="Den Brown"]пробую так: rtfBody = email.binaryAttachments[i].body.toString(); (примечание: на mail Listener включено Convert Text Attachments to Binary Attachments. Оно надо в данном случае?) но в rtfBody записывается текст документа вместе с метаданными. Причем метаданные клиниваются прямо в пробелы, что затрудняет поиск подстроки с помощью RegExp. Как взять содержание RTF файла в виде простого текста без метаданных? может кто знает[/quote] Боюсь что для этого придется писать парсер скобок и прочей лабуды.
Спасибо wilder.
значит проблему стандартными средствами APEX не решить.
но проблема оказалась даже больше, чем казалась в начале.
вот это строка в RTF файле. мне нужно взять выделеный номер (это один номер с пробелами):
123AB1 4036 10341 7490 3 $400.00 EA 7
сначала я подумал, что во второй пробел попал кусок метаданных. Но потом я понял что все гораздо сложнее:
123AB1 4036 }{\b\afs20\ab\rtlch \ltrch\loch\fs20\lang1049
1}{\b\afs20\ab\rtlch \ltrch\loch\fs20
034}{\b\afs20\ab\rtlch \ltrch\loch\fs20\lang1049
1}{\b\afs20\ab\rtlch \ltrch\loch\fs20{\*\bkmkend __DdeLink__11_460886521}
7490 3 $400.00 EA 7 }
Это какую же RegExp формулу нужно писать, чтобы третий фрагмент выцепить!!!
123AB1 - это всегда неизменно, хоть какой то ориентир дает...
Спасибо wilder. значит проблему стандартными средствами APEX не решить. но проблема оказалась даже больше, чем казалась в начале. вот это строка в RTF файле. мне нужно взять выделеный номер (это один номер с пробелами): [b]123AB1 4036 10341[/b] 7490 3 $400.00 EA 7 сначала я подумал, что во второй пробел попал кусок метаданных. Но потом я понял что все гораздо сложнее: [b]123AB1 4036 [/b]}{\b\afs20\ab\rtlch \ltrch\loch\fs20\lang1049 [b]1[/b]}{\b\afs20\ab\rtlch \ltrch\loch\fs20 [b]034[/b]}{\b\afs20\ab\rtlch \ltrch\loch\fs20\lang1049 [b]1[/b]}{\b\afs20\ab\rtlch \ltrch\loch\fs20{\*\bkmkend __DdeLink__11_460886521} 7490 3 $400.00 EA 7 } Это какую же RegExp формулу нужно писать, чтобы третий фрагмент выцепить!!! [b]123AB1[/b] - это всегда неизменно, хоть какой то ориентир дает...