Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: soru13 en 11 Agosto 2010, 00:20 AM

Título: seleccionar un texto determinado en un textbox
Publicado por: soru13 en 11 Agosto 2010, 00:20 AM
hola,llevo varios dias buscando por internet como hacer lo siguiente y no lo encuentro por ningun lado.

Yo tengo un Textbox con un texto,por ejemplo el siguiente:

hola,esto es una prueba del texto,mi email es este email@gmail.com

bien,pues lo que necesito es que me copie una parte determinada con un criterio que le pongo,es decir algo asi, CRITERIO VB ("*@gmail.com"), no se muy bien como sería pero al estilo del buscador de archivos de windows,ya que el email va a variar y tendria que coger "variable@gmail.com",el caso es que no lo consigo de ninguna forma y no encuentro esto en internet.

Alguien me podría ayudar? Gracias
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: Shell Root en 11 Agosto 2010, 00:23 AM
Expresiones regulares :D
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: soru13 en 11 Agosto 2010, 00:29 AM
si no te importa Shell Root podrías ponerme un ejemplo porfavor?
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: Psyke1 en 11 Agosto 2010, 00:33 AM
Cita de: Shell Root en 11 Agosto 2010, 00:23 AM
Expresiones regulares :D
Seh! :D

Más info:
http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular

Un ejemplo:
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/198-expresion-regular-extraer-url.htm

Para lo que buscas se me ocurre esto:
Citar(\S+@gmail\.com )

O esto para que no saque un mail incoherente (ej : mario($%234@gmail.com):
Citar([\w\.-_]+@gmail\.com )

PD: Nose porque co***es me pone un espacio antes de cerrar el parentesis... >:(

DoEvents¡! :P
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: soru13 en 11 Agosto 2010, 00:55 AM
*PsYkE1*  y con que código pongo esa expresión regular? por ejemplo si en Text1 está el texto pues que me saque lo seleccionado con la expresion regular a Text2.

Esque he estado mirando en internet ejemplos y me dice que tengo que añadir al proyecto el componente Microsoft VbScript regular Expressions. Y a mi no me aparece,quizás porque uso el windows 7.

un saludo y gracias!
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: Psyke1 en 11 Agosto 2010, 01:11 AM
Mira, espero que no me "riñan" por hacerte los deberes:

Código (vb) [Seleccionar]
Public Function Get_Gmails(ByVal sText As String) As Collection
   Dim cTemp           As New Collection
   Dim oRegExp         As Object
   Dim oMatch          As Object
   Dim oMatches        As Object
   Dim sPatern         As String
   
   '# Para evitar las referencias
   Set oRegExp = CreateObject("VBScript.RegExp")
   
   sPatern = "([\w\.-_]+@gmail\.com )" '# Quitando el maldito espacio del final

   With oRegExp
       .Pattern = sPatern
       .Global = True
       .IgnoreCase = True
   End With
   
   Set oMatches = oRegExp.Execute(sText)

   For Each oMatch In oMatches
       cTemp.Add oMatch.Value
   Next
   
   Set Get_Gmails = cTemp
End Function

Private Sub Form_Load()
   Dim vItem               As Variant
   Dim sStringtoAnalyze    As String
   
   sStringtoAnalyze = "Hola, esto es un ejemplo mario.234@gmail.com para que veas que funciona mimamamemima_to2losdias@gmail.com"
   For Each vItem In Get_Gmails(sStringtoAnalyze)
       Debug.Print vItem
   Next
End Sub


Me devuelve:
Citarmario.234@gmail.com
mimamamemima_to2losdias@gmail.com

PD: Te envie un MP...

DoEvents¡! :P
Título: Re: seleccionar un texto determinado en un textbox
Publicado por: soru13 en 11 Agosto 2010, 01:22 AM
ok muchas gracias *PsYkE1* voy a probar el codigo.