Avisos

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


 
Herramientas
  #1  
Viejo 16/07/18, 08:33:20
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita


  #2  
Viejo 21/07/18, 13:50:12
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
¿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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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
Responder Con Cita
  #4  
Viejo 21/07/18, 14:17:16
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 21/07/18, 15:57:52
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
Hecho.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario:
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Otro software para Android > Tasker

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 15:33:24 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007