Digamos que mi portapapeles es "nombre de teléfono de correo electrónico" y cualquier texto y números al azar.
¿Puede el palabras se separen y se añadan en una lista?
No te das cuenta, pero has respondido a tu propia pregunta.
TL;DR
Digamos que tu portapapeles contiene la cuerda "Kevin stackexchange.com 124098"
. Separa esto en una lista de palabras como esta:
words of (the clipboard) --> {"Kevin", "stackexchange.com", "124098"}
Puedes leer más sobre esta función integrada de AppleScript a continuación, donde he dado una explicación detallada, incluyendo por qué, lamentablemente, esto no será tan efectivo si se trata de una dirección de correo electrónico:
words of "Kevin@example.com" --> {"Kevin", "example.com"}
Así que tendrás que recordar que tienes que restaurar el destruido "@"
más tarde; o, como usted sugirió, utilice text item delimiters
en un personaje del espacio.
Información detallada: text item delimiters
vs words
AppleScript text
los objetos están compuestos por word
y character
elementos que se subdividen en los componentes de cualquier cadena: text
se subdivide en words
y/o characters
; a word
se subdivide en characters
.
Además, el words
subdividir text
a intervalos marcados por espacios en blanco de cualquier longitud, lo que es mucho más conveniente que text item delimiters
que dividirá una cadena en cada ocurrencia individual de un delimitador especificado.
Por ejemplo, el ajuste text item delimiters
a la space
y aplicándolo a una frase de dos palabras con tres espacios entre ellas, terminarás con esto:
text items of "foo bar" --> {"foo", "", "", "bar"}
Sin embargo, obtener en su lugar la words
que componen la cuerda evita tener que lidiar con elementos de la lista de cuerdas vacías:
words of "foo bar" --> {"foo", "bar"}
Además, como text items
, words
de un text
El objeto subdividirá la cadena de forma natural en una lista de elementos individuales.
Para completar, rápidamente demostraré cómo characters
descompondrá una cuerda:
characters of "foo" --> {"f", "o", "o"}
characters of "foo bar" --> {"f", "o", "o", " ", " ", " ", "b", "a", "r"}
Se debe tener un poco de precaución cuando se descompone una cuerda en words
creyendo que opera de forma idéntica (o lo suficientemente cercana) a una space
delimitador. No es así. Hay un conjunto definido de caracteres que se consideran "caracteres de la palabra", y un conjunto de caracteres que no lo son. "Caracteres de palabras" son cualquier carácter que, cuando se agrupan, se consideran formadores de palabras. Si aparece cualquier carácter no denominativo, la palabra se considera dividida en dos palabras distintas en ese carácter.
Los caracteres de la palabra incluyen básicamente las letras A-Z y a-z (y cualquier variante acentuada), los números 0-9, el punto ( .
) y el subrayado ( _
). Así que "tH1s"
es una palabra, y "this_is_a_single_word.123"
. Sin embargo, "this#is%four words"
y, en contra de mi intuición, "over-achieving"
se considera que son dos palabras (el guión es un carácter no denominativo).
Otros caracteres no denominativos obviamente incluyen el espacio; o cualquier espacio en blanco para el caso. Además de cualquier símbolo que puedas escribir con el teclado y que no esté incluido en la lista de caracteres de las palabras, excepto el signo del dólar ( $
), que dejo ahora de mencionar sólo para reflejar lo molesto que es que se considere al azar un personaje de la palabra:
words of "hello#$&world" --> {"hello", "$", "world"}