Applescript для замены сообщения, отправленного и полученного в приложении Сообщения
Я обнаружил, что этот скрипт изменяет прописные и строчные буквы в сообщениях, но я хочу изменить этот код, чтобы заменить некоторую строку в тексте, например: полученное сообщение "Я хочу съесть", это сообщение будет изменено на "Мне нравится есть "или":)"изменить на":-)".
property lowercaseCharacters : "abcdefghijklmnopqrstuvwxyz"
property uppercaseCharacters : "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
on intercaps(str)
set theCharacters to characters of str
set theCount to 1
repeat with aChar in theCharacters
if (aChar is in uppercaseCharacters or aChar is in lowercaseCharacters) then
if (theCount mod 2) is equal to 1 then
set contents of aChar to character (offset of aChar in lowercaseCharacters) of uppercaseCharacters
else
set contents of aChar to character (offset of aChar in uppercaseCharacters) of lowercaseCharacters
end if
end if
set theCount to theCount + 1
end repeat
return theCharacters as string
end intercaps
using terms from application "Messages"
on message sent theMessage for theChat
return intercaps(theMessage)
end message sent
on message received theMessage from theBuddy for theChat
return intercaps(theMessage)
end message received
on chat room message received theMessage from theBuddy for theChat
return intercaps(theMessage)
end chat room message received
end using terms from
1 ответ
Решение
Вот один из методов:
set myText to replace_chars("i want to eat", "want", "would like")
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars