Fonctions
La programmation AppleScript en exemples.

Fonction rechercher/remplacer.
Imaginons qu'on veuille faire la même chose que la fonction précédente mais différement. Plutôt que d'utiliser les "offset", c'est-à-dire la position des caractères dans la chaîne, on veut utiliser le "text item delimiter". Le "text item delimiter" de la langue française est l'espace et c'est par défault sa valeur dans AppleScript. En faisant varier cette valeur, on peut arriver à des résultats intéressant, comme cette fonction nous le montre.

Fonction 3 : récupérez l'AppleScript ici.

Le Script :


on find_and_replace(une_chaine, caractere_cherche, caractere_remplace)
set
text item delimiters to caractere_cherche
set
les_mots to {} & text items of une_chaine
set
resulat to 1st item of les_mots
repeat with i from 2 to (length of les_mots)
set
resulat to resulat & caractere_remplace & (item i of les_mots)
end repeat
return
resulat
end
find_and_replace


set
ma_phrase to "Je vends des pommes, des poires et des scooby doo"
return
find_and_replace(ma_phrase, "des", "les")



Explications :
Nous savons que le séparateur de mot est l'espace en français ; ainsi dans la phrase "Je vends des pommes, des poires et des scooby doo", nous avons 10 mots. Si nous changeons le séparateur de mot de espace à "des", nous avons alors 4 mots : "Je vends "(1), " pommes, "(2), " poires et "(3) et " scooby doo"(4). à ce moment, il nous est facile de reconstituer la phrase en intercalant une chaîne de caractères entre chacun de ces nouveaux "mots".

Ainsi, pour chercher "des" et remplacer par "les", on fixe "des" comme "text item delimiter", on récupère chacun des mots dans une variable de type liste, et ensuite on les ajoute un à un avec "les" entre chaque. Pour que le résultat soit bon, on aura pris soin de commencer au deuxième mot et avec une chaîne contenant le premier mot, sinon on aurait un "les" en trop.


Astuces & application:
• On préfèrera toujours un code court et une procédure non récursive quand on a le choix.
• On pourra utiliser cette fonction, ou en tout cas la méthode, chaque fois qu'il sera nécessaire de saucissonner une chaîne de caractères.