0 votos

applescript : añadir el contenido del portapapeles a la lista

¿Puedo crear una lista desde el portapapeles?

Digamos que mi portapapeles es "nombre de teléfono de correo electrónico y cualquier número de texto al azar".

¿Se pueden separar las palabras y añadirlas a una lista?

También el elemento puede ser texto y números, pero supongo que la mejor manera sería hacer un delimitador de texto por espacio.

2voto

qarma Puntos 71

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X