В VBA, его чрезвычайно легко заменить подстроки с помощью другой подстроки, например, objMsg.Body = Replace(objMsg.Body, "<Month\", Format(dtDate1, "mmmm"))
, который заменяет "<Month>"
текущим месяцем в теле письма. Я уже встречал вопросы, подобные этому, но им уже несколько лет и, как правило, сумасшедшие обходные пути, которые почти не стоят моего времени.Имеет ли AppleScript функцию замены?
2
A
ответ
2
Нет, но вы можете использовать это (source):
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
использование:
replace_chars(message_string, "string_to_be_replaced", "replacement_string")
(кстати, вы можете в настоящее время также использовать JavaScript вместо AppleScript, поиск «JavaScript для OS X Automation ")
1
Один действительно простой способ найти/заменить - вызвать сценарий оболочки и передать в него текст в виде строки:
set inputText to "My name is Fred."
set findText to "Fred"
set replaceText to "Sally"
set newText to do shell script "sed 's|" & quoted form of findText & "|" & quoted form of replaceText & "|g' <<< " & quoted form of inputText
+0
Btw 'replaceText' также должен быть безопасным Regex, поэтому нет" " –
Смежные вопросы
- 1. Имеет ли AppleScript эквивалент условного (тройного) оператора?
- 2. Имеет ли XSLT функцию Split()?
- 3. Имеет ли python функцию "cause_exception()"?
- 4. Имеет ли CRC следующую функцию
- 5. Имеет ли java функцию зажима?
- 6. Имеет ли javascript функцию диапазона?
- 7. Имеет ли PowerShell функцию «окна»?
- 8. Имеет ли xslt функцию split()?
- 9. Имеет ли Javascript функцию contains?
- 10. Имеет ли OCaml функцию popcnt?
- 11. Имеет ли VBScript функцию substring()?
- 12. Имеет ли R функцию "expected.glmList"?
- 13. Имеет ли Kotlin функцию идентификации?
- 14. Имеет ли Pig функцию перетасовки?
- 15. Имеет ли C функцию квантования?
- 16. Имеет ли Ruby функцию SlowEquals?
- 17. Использование AppleScript в Automator для замены символов
- 18. Applescript имеет предел количества строк.
- 19. AppleScript: Finder: Как узнать, имеет ли рабочий стол фокус?
- 20. Напишите эффективную функцию замены строки?
- 21. RewriteRule, похоже, не имеет замены
- 22. Создать функцию замены в vb.net
- 23. Как изменить функцию замены PHP?
- 24. Имеет ли Sublime Text 2 функцию автозаполнения?
- 25. Имеет ли Oracle встроенную функцию хэша?
- 26. Имеет ли MATLAB функцию полосы для строк?
- 27. Имеет ли объектив c функцию ленты?
- 28. Имеет ли Swift встроенную функцию логарифма?
- 29. Имеет ли ColdFusion Builder функцию формата документа?
- 30. SFINAE: определить, имеет ли класс свободную функцию
Слава богу. Я не могу выдержать этот код. – potapeno
++, но в интересах надежности лучше сохранить и восстановить исходное значение «разделитель текстовых элементов». – mklement0
@potapeno: до тех пор, пока вы знаете, как работает эта функция (случайная INsensitive замена всех вхождений, обертывание вызовов в блоке 'рассматриваемый случай ... конец рассмотрения' для соответствия case-SENSITIVE), вам не нужно понимать Это. Тем не менее, принципиально переключение на [JXA (JavaScript for Automation)] (https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-10.html#//apple_ref/doc/uid/TP40014508-CH109-SW1), доступный с 10.10, может сделать вас счастливее, хотя кажется, что это только немного менее нежелательный паскворд, чем AppleScript – mklement0