Вкратце:
с объектами форматированного текста iWork разбиение текста на слова происходит из:
"Это... он сказал, это приговор!"
to:
["Это", "он", "сказал", "есть", "а", "предложение"]
Итак: исчезли точки, запятая и восклицательный знак. Аналогично ситуации с AppleScript, но с Javascript для автоматизации мне непонятно, как установить разделитель текстового элемента (плюс: я надеюсь, что он может быть проще, чем в старые времена).
Подробно:
Я хотел бы изменить форматированный текст, например:
testing [value] units <ignore this>
>>>
also ignore this
<<<
etc.
Текст может содержать варианты размера/цвета/веса, которые следует сохранить. Результат должен быть, например:
testing 123 units
etc.
Когда я просматриваю слова (в моем случае: заметки докладчика в Keynote), я получаю:
["testing", "value", "units", "ignore", "this", "also", "ignore", "this", "etc"]
вместо:
["testing", "[value]", "units", "<ignore", "this>", ">>>", "also", "ignore", "this", "<<<", "etc."]
Итак: такие символы, как ., [ и >, не отображаются, что делает невозможным поиск/замену.
Чтобы получить слова, я использую:
words = Application("Keynote").documents[0].slides[0].presenterNotes.words
Я также пробовал использовать who() в сочетании с игнорированием/учетом (регистр, дефисы, знаки препинания), но результат тот же.
Как я могу получить список слов, содержащих небуквенно-цифровые символы?