Нуб кодер здесь,

Я пытаюсь создать программу, которая удаляла бы определенные слова из возвращенного пользователем предложения.

Вот что я получил так далеко:

    set returnedSentence to display dialog "Welcome to SimpleScript Early Release (Beta)! To continue please enter your desired code/text." default answer "" buttons {"Go!", "Cancel"} default button 1

display dialog returnedSentance - "if" - "and" - "then" - "a" buttons {"ok", "Cancel"} default button 2

Например: если пользователь введет предложение: если я голоден, то я пойду в ресторан.

Тогда код должен вернуться, я голоден, я пойду в ресторан.

Заранее спасибо.

-1
Jeffrey Li 30 Апр 2020 в 05:13

2 ответа

Лучший ответ

Обычный AppleScript не имеет регулярных выражений, но вы можете использовать text item delimiters для замены нужных текстовых элементов ничем / пробелами. Например:

set returnedSentence to text returned of (display dialog "Welcome to SimpleScript Early Release (Beta)! To continue please enter your desired code/text." default answer "" buttons {"Go!", "Cancel"} default button 1)

set trimList to {"if ", "and ", "then ", "a "} -- the text items to replace (note the trailing space to denote words)
set {tempTID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, trimList} -- stash original delimiters (normally blank) and set new ones
set trimmedItems to text items of returnedSentence -- break the string apart
set AppleScript's text item delimiters to tempTID -- restore delimiters (normally blank)
set trimmedSentence to trimmedItems as text -- put the string back together

display dialog trimmedSentence buttons {"ok", "Cancel"} default button 2
0
red_menace 30 Апр 2020 в 03:03

Используйте библиотеку регулярных выражений вашего языка, чтобы извлечь часть, которая не содержит запрещенного слова.

-1
Yanik Crépeau 30 Апр 2020 в 02:26