Il y a plusieurs choses qui ne vont pas dans votre code. Tout d'abord, vous ne demandez jamais les éléments de texte de la note :-) Vous obtenez simplement la chaîne brute. La seconde est que set AppleScript's text item delimiters to "space"
définit les délimiteurs des éléments de texte à la chaîne littérale space
. Ainsi, par exemple, l'exécution de
set AppleScript's text item delimiters to "space"
return text items of "THISspaceISspaceAspaceSTRING"
retours
{"THIS", "IS", "A", "STRING"}
Deuxièmement, même si vous aviez " "
au lieu de "space"
ce qui aurait pour effet de couper votre chaîne de caractères sur les espaces, et no les nouvelles lignes. Par exemple, l'exécution de
set AppleScript's text item delimiters to " "
return text items of "This is a string
which is on two lines."
retours
{"This", "is", "a", "string
which", "is", "on", "two", "lines."}
Comme vous pouvez le constater, "string\nwhich"
est un élément de liste unique.
Pour faire ce que vous voulez, vous pouvez simplement utiliser paragraphs of STRING
; par exemple, en exécutant
return paragraphs of "This is a string
which is on two lines."
renvoie l'information souhaitée
{"This is a string", "which is on two lines."}
Je n'ai pas tout à fait compris exactement ce que vous voulez faire. Si vous voulez l'obtenir pour une personne spécifique, vous pouvez écrire
tell application "Address Book"
set n to the note of the first person whose name is "Antal S-Z"
return paragraphs of n
end tell
Il faut la diviser en deux déclarations parce que, je pense, paragraphs of ...
est une commande, alors que tout ce qui se trouve sur la première ligne est un accès à une propriété. (Pour être honnête, je découvre généralement ces choses par tâtonnement).
En revanche, si vous souhaitez obtenir cette liste pour chaque personne d'un groupe, c'est un peu plus difficile. L'un des principaux problèmes est que les personnes qui n'ont pas de note obtiennent missing value
pour leur note, qui n'est pas une corde. Si vous voulez ignorer ces personnes, la boucle suivante fonctionnera
tell application "Address Book"
set ns to {}
repeat with p in ¬
(every person in group "Test Group" whose note is not missing value)
set ns to ns & {paragraphs of (note of p as string)}
end repeat
return ns
end tell
En every person ...
fait exactement ce qu'il dit, en obtenant les personnes concernées ; nous extrayons ensuite les paragraphes de leur note (après avoir rappelé à AppleScript que l'élément note of p
est réellement une chaîne de caractères). Après cela, ns
contiendra quelque chose comme {{"Test 1", "Test 2"}, {"Test 3", "Test 4"}}
.