3 votos

Utilizar la aplicación Shortcuts para formatear el texto

Tengo el texto en este formato:

Red and green apples
Pear
2 Bananas
red orange
Melon
Grape fruit

Lo necesito en este formato:

c("Red and green apples", "Pear", "2 Bananas", "red orange", "Melon", "Grape fruit")

También tengo estos números:

1
172
3
183
16
178
68
56
687
576
455

Lo que necesito en el formato de abajo. Tenga en cuenta que este es el mismo formato que el anterior, excepto que son números, por lo que faltan las comillas:

c(1, 172, 3, 183, 16, 178, 68, 56, 687, 576, 455)

¿Puedo crear un acceso directo que convierta automáticamente el texto?

6voto

quark67 Puntos 28

Puede hacerlo con regex en Shortcuts.

Aquí con el texto: enter image description here

y aquí con números enteros: enter image description here

El código es el mismo, sólo difiere la primera acción "Texto". Más sobre regex en Shortcuts en este post de reddit .

Editar: no confundir, en los dos primeros "Buscar texto" en las dos capturas de pantalla, el | en (\n|$) es el barra vertical y no una "i" mayúscula o una "L" minúscula.

Edición 2: Tal y como se pedía en los comentarios del OP y en la pregunta editada, aquí hay una versión diferente con menos restricciones en la entrada (observación: en la primera Reemplazar texto acción, en el campo Sustituir por , debería leer "$1",␣ , es decir, debería haber un espacio después de la coma, pero la captura de pantalla no puede mostrarlo, y en la 3ª Reemplazar texto , en el campo Buscar texto , debería leer (.+),␣ ):

enter image description here

0 votos

Hola la regex anterior solo funciona en líneas que tienen 1 palabra. ¿Cómo puedo hacer que el regex funcione en las líneas que tienen 1 o más palabras?

0 votos

@luciano ¿Qué es el separador de palabras? Siempre un espacio, o puede ser cualquier otro signo de puntuación? Tiene "palabras" como ora4nge en la entrada (mezcla de letras y dígitos)?

0 votos

Puede ser cualquier signo de puntuación. Las palabras incluyen sólo letras.

-2voto

Isaac Khor Puntos 16

Queremos el equivalente a este trozo de código JS:

"c(" + input_text.split('\n').join(', ') + ")"

Así que el script será algo así:

Dividir texto (nuevas líneas) -> Combinar texto (separador personalizado ", ")

Intégralo como quieras con el resto del script.

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