|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexandr Boydak 2:5025/2.62 20 Jun 2003 13:44:32 To : All Subject : White Space --------------------------------------------------------------------------------
Имеем. Perl 5.8, в него передается строка, которую надо некоторым образом
обработать, учитывая границы слов.
Строка передается из программы DTP, например "В. В. Пупкин", и надо обеспечить
анализ строки, уборку пробела между инициалами, и вставку некоего "символа"
неразрывного пробела (неважно какого, хоть " ", потом вызывавшая программа
сама переведет в нужный вид в нужных терминах эту конструкцию) между инициалами
и фамилией. Естественно, такие вещи проще всего и быстрее делать на сабже
регулярными выражениями, я думаю, вы со мной согласитесь.
Ввиду крайней скудости функций работы со строками в вызывающем приложении
(Visual Basic, пинайте не меня, его я начал изучать поневоле, к InDesign скрипты
пишутся именно на нем, позор на седые яйца фирмы Adobe), я хочу реализовать это
вызовом perl-процедуры. (Пишется perl-программа, компилится в ActiveX-dll, и
функции ее доступны для вызовов из визуал-васика). Сама программа на васике,
запущенная из-под InDesign, имеет доступ к объектам и методам документа
InDesign, чего не имеет perl-программа, и служит прослойкой между
(человек-невидимка). Эту фишку я уже сделал, работает, как ни странно.
Так вот...
Собственно, все бы ничего, но не хотелось бы терять форматирование исходного
параграфа InDecign. То есть, есть в абзаце (параграфе) InDesign, как объекте
документа, выделение некоторых слов полужирным шрифтом. Васик может
манипулировать этим на уровне атрибутов объекта и его частей. И я могу в васике
начало выделения обозначить как <b>, а конец как </b>, например, или
ANSI-символами, не используемыми InDesign. А потом передать эту строку символов
функции perl. Так вот, для этого такие последовательности (или символы) в
регулярных выражениях perl должны рассматриваться как white space, то есть
обобщенные пробельные символы. Я искал, как это сделать, и не нашел. Hу не Ларри
Уолл я, что поделаешь.
Может быть всемогущий All знает, как извернуться, чтобы расширить понимание
perl'ом white space, и возможно,дополнить это список не только отдельными
символами, но и символьными последовательностями? Иначе джопа, весь мир бардак,
и perl, который я люблю, не может то, что мне надо...
Alexandr
--- GoldED/W32 3.0.1
* Origin: (2:5025/2.62)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/27593ef31842.html, оценка из 5, голосов 10
|