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

Respuesta
 
Herramientas
  #1  
Viejo 29/11/15, 16:56:30
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
Parsear un texto partiéndolo por longitud

Hola, estoy tratando de parsear un texto largo para mostrarlo en trocitos (para enviarlo a una smartband).

Estoy atascado en lo básico: partir el texto usando el espacio como separador. Y luego mostrar el array resultante, palabra a palabra.



Lo que quiero que salga aquí es:
Hola ... como ... estas ...

Pero mi objetivo final es, que dado el máximo de caracteres a mostrar de una vez, por ejemplo por línea, me parta el texto para se lea línea a línea. Vamos, que si mi máximo de caracteres es 10 y tengo el siguiente texto:
Hola como estas tu, lo llevas bien?

Me lo parta así:
Hola como
estas tu,
lo llevas
bien?

Como se puede comprobar, todas las líneas tienen 10 caracteres o menos.

Toda ayuda será bienvenida... Gracias.
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.
Responder Con Cita


  #2  
Viejo 29/11/15, 17:48:44
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
Utiliza regex en el separar variable a ver que tal. Te pueden ser utiles los signos \w \W.
Si das con la "formula" entonces ya lo tienes todo en el array.

Enviado desde mi T1-701u mediante Tapatalk
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
  #3  
Viejo 29/11/15, 19:37:44
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
 Cita: Originalmente Escrito por mlesir Ver Mensaje
Utiliza regex en el separar variable a ver que tal. Te pueden ser utiles los signos \w \W.
Si das con la "formula" entonces ya lo tienes todo en el array.

Enviado desde mi T1-701u mediante Tapatalk
Gracias como siempre, mlesir. Ya consigo recorrer el array, pero no sé cómo hacer que me interprete las regex. Pego lo que he conseguido. En el tercer paso debería salirme «Como», pero me sale toda la frase. Lo que estoy simulando es el separador espacio, con \s

__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.
Responder Con Cita
  #4  
Viejo 29/11/15, 20:14:09
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
En la acción buscar y reemplazar si me funciona, y quizás podría ser la clave. Pero, hay forma de reemplazar por el patrón encontrado más algo más? Por ejemplo, algo así:
Var="Hola que tal"
[^\s]{3}\s -> $&\s\s

Siendo $& el patrón de búsqueda, en este caso 3 caracteres no-espacios

Edit: vale, esto ya lo tengo, con $0
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.

Última edición por Ptahotep Día 29/11/15 a las 20:18:31.
Responder Con Cita
  #5  
Viejo 29/11/15, 20:34:24
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
Disculpame! Me olvide que separar variable no acepta regex.

Buscar y reemolazar si.

Te pongo lo que he probado para que te sirva de guia:

Phatopep (210)
A1: Establecer variable [ Nombre:%aab A:hola como estas Calcular:Apagado Añadir:Apagado ]
A2: Buscar y Reemplazar Contenido de Variable [ Variable:%aab Buscar:\w+(\s|$) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%aaa Reemplazar Coincidencias:Apagado Reemplazar Con: ]
A3: Flash [ Texto:%aaa
%aaa0
%aaa1
%aaa2
%aaa3 Largo:Encendido ]

He puesto todas las variables en el flash para que se vea que variables produce y las que no. Evidentemente es mas que mejorable. Yo creo q se puede hacer con regex lo que quieres. Que te coja los trozos con una longitud maxima pero sin cortar las palabras. Te tendras que pelear con el regex... mola pero puede ser a veces frustrante.

(Como veras utilizar exportar la tarea como descripción a portapapeles ademas de ser mas rapido es mas completo, hace mas ligero navegar por los post, lo puedes copiar, citar, etc).


Enviado desde mi T1-701u mediante Tapatalk
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 29/11/15, 22:26:23
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
Al final, con algo tan simple como esto consigo lo que estaba buscando:
.{1,15}(\s|$)

Así lo tengo todo separado en líneas de 15 caracteres. El problema es que ahora lo tengo que unir todo en una sola variable, haciendo que cada elemento tenga exactamente 15 caracteres, y así no se me corten palabras en diferentes líneas.
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.
Responder Con Cita
  #7  
Viejo 30/11/15, 21:36:49
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
No hay forma de saber la longitud de la cadena contenida en una variable, no?

Enviado desde mi SM-T320 mediante Tapatalk
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.
Responder Con Cita
  #8  
Viejo 01/12/15, 08:22:54
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
Si con la acción de variable probar, en tipo pones longitud.

Enviado desde mi T1-701u mediante Tapatalk
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 03/12/15, 21:33:23
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
Estoy atascado casi en el paso final. Hay alguna forma de añadir espacios al final de una variable?
Tengo un número negativo al que le voy sumando 1 en cada ciclo, y con «ir a» vuelvo a sumarle 1, hasta que el número llega a 0. Además de sumar 1, quiero ir añadiendo espacios sucesivamente a mi texto, hasta que la tarea continua y me muestra todo el texto por pantalla.
Pero no encuentro la forma de ir añadiendo espacios. He probado con concatenar, pero creo que no entiendo muy bien su uso.
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.
Responder Con Cita
  #10  
Viejo 05/12/15, 13:23:15
Array

[xs_avatar]
mlesir mlesir no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 2,263
Modelo de smartphone: OnePlus One,BQ Edison1, GoogleChrome,
Tu operador: Pepephone
Con establecer variable puedes hacerlo solo tienes que marcar el parametro añadir.
Cuando lo tengas montado si puedes compartirlo te lo agradeceria.

Enviado desde mi T1-701u mediante Tapatalk
__________________
Fdo: Mlesir. Miembro del equipo que promueve el foro y el recopilatorio de Tasker http://www.htcmania.com/forumdisplay.php?f=969
Responder Con Cita
Gracias de parte de:
  #11  
Viejo 05/12/15, 15:50:17
Array

[xs_avatar]
Ptahotep Ptahotep no está en línea
Usuario muy activo
· Votos compra/venta: (7)
 
Fecha de registro: ene 2010
Localización: Mundo
Mensajes: 1,869
Modelo de smartphone: 1+1 y SGTP8.4
Tu operador: Jazztel
Conseguido! Muchas gracias, aquí lo pego. La verdad es que es la tarea más compleja que creo, gracias a ti.


Split Text Test (115)
A1: Establecer variable [ Nombre:%texto A:En un lugar de la Mancha de cuyo nombre no quiero acordarme Calcular:Apagado Añadir:Apagado ]
A2: Buscar y Reemplazar Contenido de Variable [ Variable:%texto Buscar:.{1,16}(\s|$) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%lines Reemplazar Coincidencias:Apagado Reemplazar Con:$0... ]
A3: For [ Variable:%xxx Ítems:%lines() ]
A4: Probar Variable [ Tipo:Longitud Datos:%xxx Almacenar Resultado en:%long ]
A5: Restar de variable [ Nombre:%long Valor:17 Módulo (wrap around):0 ]
A6: Sumar a variable [ Nombre:%long Valor:1 Módulo (wrap around):0 ]
A7: Establecer variable [ Nombre:%espacios A: Calcular:Apagado Añadir:Encendido ] Si (if) [ %long nig 0 ]
A8: Ir a acción [ Tipo:Número Acción Número:6 Etiqueta: ] Si (if) [ %long < 0 ]
A9: Establecer variable [ Nombre:%lines A:%xxx Calcular:Apagado Añadir:Encendido ]
A10: Establecer variable [ Nombre:%lines A:%espacios Calcular:Apagado Añadir:Encendido ] Si (if) [ %espacios Ajuste ]
A11: Limpiar variable [ Nombre:%espacios Coincidencia de Patrón:Apagado ]
A12: End For
A13: Notificación [ Título:%lines Texto: Icono:hd_content_email Número:0 Permanente:Apagado Prioridad:3 ]
__________________
Si estás pensando en poner ADSL de Jazztel contáctame y ambos ganamos un dinerito.

Última edición por Ptahotep Día 05/12/15 a las 17:25:03.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Ptahotep su comentario:
Respuesta

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



Hora actual: 03:08:58 (GMT +1)



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

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