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