Hola, tengo un backup de mi foro necesito sacar solamente los msn de entre tantas cosas.
Esta es la manera en que puede encontrarse un email:
'XXXXX', 'unemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'
Como hago para de todo ese texto sacar solo:
'unemail@hotmail.com' o unemail@hotmail.com
He intentado de varias maneras y solo logro unas partes muy grandes. :S
Hay muchas formas de hacer eso, yo haría un split... algo así
Private Sub Command1_Click()
Dim data As String
Dim vdata As Variant
data = "'XXXXX', 'unemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"
vdata = Split(data, "'")
MsgBox vdata(3)
End Sub
Y ya devuelve el valor del e-mail. Haces que en data se almacene la cadena correspondiente y ya está :¡ ;D ;D
Saludos.
Ps con una sola cadena sin repetirse esta muy bien :xD
Pero tengo esto:
Private Sub Form_Load()
Dim data As String
Dim vdata As Variant
Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
data = Input(LOF(1), #1)
Close #1
vdata = Split(data, "@")
MsgBox vdata(1)
End Sub
Pues eso, tu has puesto la cadena y yo te puesto la solución para esa cadena hombre.. xD pero vamos no se donde está el problema:
Mete un textbox y haces así y en teoría debería de meter todos los mails...
Private Sub Form_Load()
Dim i as integer
Dim data, datos As String
Dim vdata, vdatos As Variant
Open "D:\Foros\SMF\Backup\localhost.sql" For Binary Access Read As #1
data = Input(LOF(1), #1)
Close #1
vdata = Split(data, "@")
For i = 0 To Numero de Entradas del localhost.sql
datos=vdata(i)
vdatos = Split(datos, "'")
Text1.Text = Text1.Text & vdatos(3) & vbcrlf
Next i
End Sub
Creo que así iría bien, prueba y me dices, esque sin el archivo no puedo probarlo.. xD
No, creo que esto no tiene solucion. Tendre que sacar los emails manualmente T_T
Que va hombre, tampoco creo yo que sea tan difícil, pero bueno si quieres hacerlo manualmente.. que te sea leve.. xD
no habra alguna forma de buscar todas las "palabras" q tengan "@"...
yo pienso en algo asi: dodne haya un "@" q lo seleccione (como cuando uno hace doble click en una palabra) y los vaya poniendo en algun txt o algo asi...
no se como hacerlo solo es una idea...
Hice esto.... espero que te ayude.... y que sea lo que vos queres...
Dim sValor As String
Dim sData() As String
Dim i As Long
'la cadena a extraer
sValor = "'XXXXX', 'sunemail@hotmail.com', 'una.ip.normal.1', 1, 0, '', 'Hola esta es una prueba'"
'Delimitamos la coma ,
sData = Split(sValor, ",")
'Recorre todos los valores
For i = 0 To UBound(sData)
'los escribe en el debug (inmediato)
Debug.Print sData(i) & vbCrLf
Next
'aca mostramos el mensaje con el mail
MsgBox Trim(Mid(sData(1), 3, Len(sData(1)) - 3))
saludos.. :D
Seria mas o menos asi:
Buscar @
Una vez encontrado @ retroceder hasta encontrar '
una vez encontrado ' copiar hasta encontrar otro '
pegar en un archivo .txt
comenzar otra vez
Siento decepcionarlos pero tampoco. :xD
He intentado muchas maneras pero nad me sale. :D
Si esa es toda la línea completa, intenta con esto a ver si te sale:
Private Sub Form_Load()
Dim data As String
Dim vdata As Variant
Open "D:\Foros\SMF\Backup\localhost.sql" For Input As #1
data = Input$(LOF(1), #1)
Close #1
x = Split(data, vbCrLf)
For i = 0 To UBound(x)
y = Split(x(i), ",")
Text2.Text = Text2.Text & Replace(y(1), "'", "") & vbCrLf
Next i
End Sub
Conteste tarde, entonces creo que ya sacó todos los datos manualmente xD
saludos!
Hola lo que vos buscas es extraer expreciones regulares lo podes hacer con Microsoft VBScript Regular Expressions, mirate este link
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm
Saludos
Cita de: LeandroA en 19 Diciembre 2007, 11:21 AM
Hola lo que vos buscas es extraer expreciones regulares lo podes hacer con Microsoft VBScript Regular Expressions, mirate este link
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/166-expresiones-regulares.htm
Saludos
Muchisimas Gracias..!! :D :D :D Solucionado..!! :D :D :D :D
y si eso es exactamente lo mismo que hice yo pero sin la listita de mails...
no entiendo que era lo que n ote servia