Avisos

Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 16/07/18, 08:33:20
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
interrogacion Ejercicios de verano (quitar espacios en blanco menos de " y ")

La amiga Viki tiene otra pregunta del millón...
Tengo una serie de frases de este tipo ...

Hola y muy buenas noches y tardes tengan ustedes.

... y quiero eliminar todos los espacios en blanco excepto los que rodean a la conjunción "y". Es decir, quiero que la frase quede así ...

Hola y muybuenasnoches y tardestenganustedes.

¿Podría alguien ayudarme con esto?
Así, a bote pronto, creo que tirando de regex se puede hacer con tres acciones. Pero seguro que un experto en expresiones regulares lo hace con menos.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita


  #2  
Viejo 21/07/18, 13:50:12
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
¿Tres acciones o tres expresiones?
Con una expresión vale pero para establecer la frase y el flash, hacen 3 acciones.
Responder Con Cita
  #3  
Viejo 21/07/18, 13:53:06
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por GraphicAdventure Ver Mensaje
Con una expresión vale pero para establecer la frase y el flash, hacen 3 acciones.
Pues adelante
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #4  
Viejo 21/07/18, 14:17:16
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
Tarea: Quitar Espacios
Código:
A1: Establecer variable [ Nombre:%frase A:Hola y muy yuenas nochesy y tardes tengan y yustedes. Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
A2: Buscar y Reemplazar Contenido de Variable [ Variable:%frase Buscar:(?<! y) (?!y ) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con: ] 
A3: Flash [ Texto:%frase Largo:Apagado ]
Las palabras mal escritas son intencionadas para ver si funciona en varios casos. Espero que no se me haya escapado algún otro.

Para escribir expresiones regex solo tenemos de pensar qué buscar:
Quiero buscar un espacio que no esté seguido de 'y' junto a un 'espacio', y un espacio que no le anteceda un 'espacio' seguido de una 'y'.

Si tomamos "Hola y muy" vemos que se dan precisamente estas dos situaciones y no encontrará nada.

?< significa lookbehind (mirar detrás)
! significa negación (lo contrario)
?= significa lookahead (mirar delante)

Los look behind/ahead se llaman lookaround (mirar alrededor) y no consumen caracteres.
Significa que lo que encuentren no será incluido en el resultado.


En el medio de la expresión hay un espacio que es lo que estoy buscando.
Estoy negando lo que busco antes y después.
El símbolo de lookbehind se mantiene y se añade la negación pero en el lookahead se cambia el = por la negación.

Última edición por GraphicAdventure Día 21/07/18 a las 15:57:29.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 21/07/18, 14:35:53
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Excelente. Funciona perfectamente.

Aunque no estaría mal poner la descripción de la tarea y explicar el funcionamiento de esa expresión regular. Ten en cuenta que estas cosas quedan aquí para futuras consultas de usuarios que puede que no sean expertos en Tasker o regex.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 21/07/18, 15:57:52
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
Hecho.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario:
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 00:32:27 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /