AppleScript pozwala na ustawienie separatora, po którym będzie dzielił tekst. Umożliwia także łączenie elementów tablicy w ciąg znaków. Domyślne separator jest ustawiony na {“”}, dzieląc tekst po każdym znaku.
W prosty sposób możesz go zmienić, przykładowo na spacje:
set AppleScript's text item delimiters to space
lub w innej formie:
set AppleScript's text item delimiters to {" "}
Wykonując teraz polecenie:
set exampleText to "AppleScript jest niesamowity!"
set array to exampleText's text items
array
-- {"AppleScript", "jest", "niesamowity!"}
Aby odwołać się do 2 elementu tablicy:
item 2 of array
-- "jest"
A co w przypadku, gdy chcesz złączyć elementy tablicy w pojedynczy ciąg znaków oddzielony przecinkami? Nic prostszego, definiujesz separator:
set AppleScript's text item delimiters to {", "}
Po czym wykonujesz prosty kod:
set exampleArray to {"ls", "cd", "cat", "cp", "mv", "ln"}
set shellCommands to exampleArray as string
shellCommands
-- "ls, cd, cat, cp, mv, ln"
Poniżej przedstawiam gotową funkcję split oraz jej wykorzystanie
on split(value, delimiter)
set delimiterBackup to AppleScript's text item delimiters
set AppleScript's text item delimiters to delimiter
set value to value's text items
set AppleScript's text item delimiters to delimiterBackup
return value
end split
set shellCommands to split("ls, cd, cat, cp, mv, ln", {", "})
shellCommands
-- {"ls", "cd", "cat", "cp", "mv", "ln"}
item 4 of shellCommands
-- "cp"