< Zurück

02.12.2012 21:06:00 • Categories: Applescript • Tags: Applescript

AppleScript: Text suchen/ersetzen advanced

-- 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

 


< Zurück | ^ nach oben