-- find : Text (or list of text) to be found -- replace : Text (or list of text) to replace with -- subject : Text (or list of text) to be searched on str_replace(find, replace, subject) set prevTIDs to text item delimiters of AppleScript set returnList to true -- This wouldn't make sense (you could have it raise an error instead) if class of find is not list and class of replace is list then return subject if class of find is not list then set find to {find} if class of subject is not list then ¬ set {subject, returnList} to {{subject}, false} set findCount to count find set usingReplaceList to class of replace is list try repeat with i from 1 to (count subject) set thisSubject to item i of subject repeat with n from 1 to findCount set text item delimiters of AppleScript to item n of find set thisSubject to text items of thisSubject if usingReplaceList then try item n of replace on error "" -- `replace` ran out of items end try else replace end if set text item delimiters of AppleScript to result set thisSubject to "" & thisSubject end repeat set item i of subject to thisSubject end repeat end try set text item delimiters of AppleScript to prevTIDs if not returnList then return beginning of subject return subject end str_replace