Как изменить разделитель текстового элемента в расширенном тексте Keynote, чтобы точка и запятая не игнорировались (используя Javascript для автоматизации)?

Короче:

с объектами форматированного текста iWork разбиение текста на слова происходит из:

"Это... он сказал, это предложение!"

чтобы:

["Это", "он", "сказал", "есть", "а", "предложение"]

Итак: точки, запятая и восклицательный знак исчезли. Подобно ситуации с AppleScript, но с Javascript for Automation мне неясно, как установить разделитель текстового элемента (плюс: я надеюсь, что это может быть проще, чем в старые времена).

В деталях:

Я хотел бы изменить форматированный текст, как:

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 () в сочетании с игнорированием / рассмотрением (регистр, дефис, пунктуация), но результат тот же.

Как я могу получить список слов, которые включают не алфавитно-цифровые символы?

1 ответ

Чтобы получить полный текст примечаний к слайду, используйте presenterNotes() метод:

note = Application("Keynote").documents[0].slides[0].presenterNotes()

Это не совсем интуитивно для меня, но работает нормально.

Другие вопросы по тегам