Let's say my clipboard is "name email phone" and any random text and numbers.
Can the words be separated and added in a list?
Non te ne rendi conto, ma hai risposto alla tua stessa domanda.
TL; DR
Dì che la tua clipboard contiene la stringa "Kevin stackexchange.com 124098" . Separalo in un elenco di parole in questo modo:
words of (the clipboard) --> {"Kevin", "stackexchange.com", "124098"}
Puoi leggere di più su questa funzione AppleScript incorporata di seguito, dove ho fornito una spiegazione dettagliata, incluso perché, purtroppo, questo non sarà altrettanto efficace se è coinvolto un indirizzo email:
words of "[email protected]" --> {"Kevin", "example.com"}
Quindi dovrai ricordare di ripristinare il simbolo obliterato "@" più tardi; oppure, come hai suggerito, usa text item delimiters impostato su un carattere spazio.
Informazioni dettagliate: text item delimiters vs words
Gli oggetti AppleScript text sono composti da word e character elementi che si suddividono l'un l'altro nei componenti costitutivi di qualsiasi stringa: text suddivide in words e / o %codice%; a characters suddivide in word .
Inoltre, characters suddivide words a intervalli contrassegnati da spazi bianchi di qualsiasi lunghezza, che è molto più conveniente di text , che dividerà una stringa a ogni singola occorrenza di un delimitatore specificato.
Ad esempio, impostando text item delimiters sul carattere text item delimiters , e applicandolo a una frase di due parole con tre spazi tra di loro, ti ritroverai con questo:
text items of "foo bar" --> {"foo", "", "", "bar"}
Tuttavia, ottenere il space che compone la stringa evita di dover gestire gli elementi della stringa vuota:
words of "foo bar" --> {"foo", "bar"}
Inoltre, come words , text items di un oggetto words suddividerà naturalmente la stringa in un elenco di singoli elementi.
Per completezza, mostrerò rapidamente come text decompone una stringa:
characters of "foo" --> {"f", "o", "o"}
characters of "foo bar" --> {"f", "o", "o", " ", " ", " ", "b", "a", "r"}
Un po 'di cautela è giustificata quando si decompone una stringa in characters , ritenendo che funzioni identicamente (o abbastanza vicino) a un delimitatore words . Non è così. Vi è un insieme definito di caratteri che sono considerati "caratteri parola" e un insieme di caratteri che non lo sono. I "caratteri di parole" sono tutti i caratteri che, se raggruppati, sono considerati formatori di parole. Se viene visualizzato un carattere diverso da una parola, la parola viene considerata divisa in due parole distinte in quel carattere.
I caratteri di parole includono essenzialmente le lettere A-Z e a-z (e qualsiasi variante accentata), i numeri 0-9, il periodo ( space ) e il carattere di sottolineatura ( . ). Quindi _ è una parola e "tH1s" . Tuttavia, "this_is_a_single_word.123" , e, contrariamente a me, "this#is%four words" è considerato due parole (il trattino è un carattere non parola).
Altri caratteri non di parole includono ovviamente lo spazio; o qualsiasi spazio bianco per quella materia. Più un simbolo che puoi digitare con la tastiera che non è incluso nell'elenco dei caratteri di parole, tranne il simbolo del dollaro ( "over-achieving" ), che ho seccamente lasciato per ora menzionare solo per riflettere come fastidioso è che è considerato a caso un carattere di parola:
words of "hello#$&world" --> {"hello", "$", "world"}