Los foros del Guille

elGuille.Hosting, seguramente los mejores precios de alojamiento

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

15/mar/2006
Te recomiendo que si no entras regularmente a los foros, marques la casilla de Notificar para recibir un correo cuando alguien responda a tu mensaje.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57478 - Desglosar cadena
IDAsuntoFechaNick 
57478 Desglosar cadena09/02/14 12:03Manuel_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.
IDAsuntoFechaNick 
57479 Re: Desglosar cadena (Resp: 57478)10/02/14 12:06Pipe[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.
IDAsuntoFechaNick 
57480 Re: Desglosar cadena (Resp: 57479)10/02/14 12:54Manuel_74   
Que tal, Pipe, cuanto tiempo... rie
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.
IDAsuntoFechaNick 
57509 Re: Desglosar cadena (Resp: 57480)17/02/14 19:09Manuel_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.
IDAsuntoFechaNick 
57511 Re: Desglosar cadena (Resp: 57509)18/02/14 06:40Manuel_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.
IDAsuntoFechaNick 
57512 Re: Desglosar cadena (Resp: 57511)18/02/14 07:31Manuel_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.
IDAsuntoFechaNick 
57516 Re: Desglosar cadena (Resp: 57512)20/02/14 07:16Manuel_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.

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 44 - App. iniciada: 23/09/2017 5:26:12 GMT - La hora GMT del servidor es: 23/09/2017 12:41:49 GMT