Удаление слова из переменной в Applescript - PullRequest
0 голосов
/ 17 февраля 2020

Я довольно новичок ie в Applescript, и я не могу понять, как удалить слово из переменной, если слово содержит «#».

Мой скрипт получает эту ошибку -> "Не могу превратить слово в тип integer." число -1700 от слова к целому числу

Вот мой сценарий на данный момент:

activate application "Grids"
delay 2
tell application "System Events"
    keystroke "a" using command down
    delay 0.25
    keystroke "c" using command down
    delay 0.25
    set Description to the clipboard
    if any word in Description contains "#" then delete that word
    return Description
end tell

Какие-нибудь указатели?

Приветствия, Крис

1 Ответ

1 голос
/ 17 февраля 2020

Чтобы вывести текст из буфера обмена, используйте (clipboard as text). Буфер обмена может содержать практически все, даже несколько объектов, в разных форматах, поэтому as text дает вам строку для работы.

И обратите внимание: «Описание» является частью некоторой существующей терминологии appleScript « ', по крайней мере на Ма c у меня прямо здесь, поэтому я меняю ваш идентификатор на desc здесь:

activate application "Grids"
delay 2
tell application "System Events"
    keystroke "a" using command down
    delay 0.25
    keystroke "c" using command down
    delay 0.25
    set desc to the clipboard as text
end tell

set out to {}
set tids to AppleScript's text item delimiters
set AppleScript's text item delimiters to " "

repeat with anItem in (text items of desc)
    set str to (anItem as string)
    if (str does not contain "#") then
        set end of out to str
    end if
end repeat

set outStr to out as string
set AppleScript's text item delimiters to tids
return outStr

Этот код просто возвращает текст, который вы находясь в поиске. Он не вставляет ухоженную строку или делает что-то еще интересное.

Я предполагаю, что вы собираетесь сказать Системным Событиям вставить его через cmd-v. (Не забудьте set the clipboard to outStr перед вставкой!)

AppleScript's text item delimiters позволяет разбивать строку и собирать ее, используя пробел (или любой другой токен, который вы sh). По соображениям гигиены кода целесообразно сохранить его перед изменением, а затем сбросить его до исходного значения, как показано ниже, в противном случае в сценариях, которые ожидают, что оно будет иметь значение по умолчанию, могут происходить странные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...