ID | Asunto | Fecha | Nick | |
57478 | Desglosar cadena | 09/02/14 12:03 | Manuel_74 | | |
Hola a todos, a ver si me pueden ayudar en este ejemplo que les pongo.. porque me estoy volviendo loco y no se como hacerlo.. Miren, tengo esta cadena Dim texto As String = "#hola# esto es #Una
prueba# ya ves, #&Negrita y subrayado y tambien, &subrayado& menudo cacao" Lo que pretendo es lo siguiente: Debo de meter cada palabra en un array tal que así: array(0): #hola# array(1): esto es array(2): #Una prueba# array(3): ya ves, array(4): #&Negrita y subrayado array(5): y tambien, array(6): &subrayado& array(7): menudo cacao Mil gracias desde ya. |
|
ID | Asunto | Fecha | Nick | |
57479 | Re: Desglosar cadena (Resp: 57478) | 10/02/14 12:06 | Pipe[hgjfkdls] | | |
Manual, tanto tiempo...jejejejejej pues lo que comentas con expresiones regulares es muy facil... te dejo el codigo de ejemplo string cadena="#hola#
esto es #Una prueba# ya ves, #&Negrita y subrayado y tambien, &subrayado& menudo
cacao";
Regex r=new Regex("[#][^#]+[#]|[&][^&]+[&]|[^#&]+");
foreach(Match match in r.Matches(cadena))
{
Console.WriteLine(match.Value);
} Saludos, Pipe [hgjfkdls]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57480 | Re: Desglosar cadena (Resp: 57479) | 10/02/14 12:54 | Manuel_74 | | |
Que tal, Pipe, cuanto tiempo... Muchisimas gracias Pipe, me ha funcionado a la perfección.. Un saludo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57509 | Re: Desglosar cadena (Resp: 57480) | 17/02/14 19:09 | Manuel_74 | | |
Hola de nuevo Pipe.. estoy intentando hacer esto otro.. pero no se como controlar los espacios en blanco.. mira.. pretendo ahora meter en un arraylist esta cadena tal que así: Dim compara As ArrayList
Dim texto As
String = "#hola# esto es
#una# prueba Çde todo juntoÇ o separado &ya veis lo que me invento&"
compara = New ArrayList
Dim r As New Regex("[#][^#]+[#]|[&][^&]+[&]|[Ç][^Ç]+[Ç]")
For Each match As Match In r.Matches(texto)
compara.Add(match.Value)
Next pretendo que en el arraylist aparezca así: #hola# esto es #una# prueba Çde todo juntoÇ o separado &ya veis lo que me invento& he leido sobre el "\s*" pero no sé donde aplicarselo. Gracias.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57511 | Re: Desglosar cadena (Resp: 57509) | 18/02/14 06:40 | Manuel_74 | | |
Buenos días, ya he conseguido al menos sacar esto en el arraylist, modificando el regex Dim r As New Regex("[#][\s*]+[#]|[#][^#]+[#]|[&][\s*]+[&]|[&][^&]+[&]|[Ç][\s*]+[Ç]|[Ç][^Ç]+[Ç]")
#hola# #una# Çde todo juntoÇ &ya veis lo que me invento&
Pero no logro los espacios en blanco..
Saludos.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57512 | Re: Desglosar cadena (Resp: 57511) | 18/02/14 07:31 | Manuel_74 | | |
Buenos días de nuevo, casi que lo solucione, digo casi porque los espacios en blancos antes de las palabras que no tienen los simbolos #,Ç,& no me los respeta, lo elimina. miren, así he puesto el patrón: Dim r As New Regex("[#][^#]+[#]|[&][^&]+[&]|[Ç][^Ç]+[Ç]|\b(\S+)\s*")
Pero por ejemplo: si tengo "# hola # esto es una prueba Ç segunda prueba Ç lo que me hace este patron que he puesto es: # hola # --> Aqui si lo respeta esto es una prueba --> aqui no, ya que hay un espacio en blanco antes de "esto" y despues de "prueba" y los quita.. Como podría solucionarlo Gracias.
Saludos
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
ID | Asunto | Fecha | Nick | |
57516 | Re: Desglosar cadena (Resp: 57512) | 20/02/14 07:16 | Manuel_74 | | |
Buenos días, ya di con la clave.. aqui la tienen por si alguien necesita hacer lo que yo. Dim r As New Regex("\s|[#][^#]+[#]|[&][^&]+[&]|[Ç][^Ç]+[Ç]|\b(\S+)\s*|[|*-]")
Saludos
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |