Foro de elhacker.net

Programación => 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:

Código:
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
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
  1. Public Function Get_Gmails(ByVal sText As String) As Collection
  2.    Dim cTemp           As New Collection
  3.    Dim oRegExp         As Object
  4.    Dim oMatch          As Object
  5.    Dim oMatches        As Object
  6.    Dim sPatern         As String
  7.  
  8.    '# Para evitar las referencias
  9.    Set oRegExp = CreateObject("VBScript.RegExp")
  10.  
  11.    sPatern = "([\w\.-_]+@gmail\.com )" '# Quitando el maldito espacio del final
  12.  
  13.    With oRegExp
  14.        .Pattern = sPatern
  15.        .Global = True
  16.        .IgnoreCase = True
  17.    End With
  18.  
  19.    Set oMatches = oRegExp.Execute(sText)
  20.  
  21.    For Each oMatch In oMatches
  22.        cTemp.Add oMatch.Value
  23.    Next
  24.  
  25.    Set Get_Gmails = cTemp
  26. End Function
  27.  
  28. Private Sub Form_Load()
  29.    Dim vItem               As Variant
  30.    Dim sStringtoAnalyze    As String
  31.  
  32.    sStringtoAnalyze = "Hola, esto es un ejemplo mario.234@gmail.com para que veas que funciona mimamamemima_to2losdias@gmail.com"
  33.    For Each vItem In Get_Gmails(sStringtoAnalyze)
  34.        Debug.Print vItem
  35.    Next
  36. End Sub

Me devuelve:
Citar
mario.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.