búsqueda de literal en fichero
necesito buscar en un fichero todas las palabras que estén entre comillas dobles, me podeis hacer un código de ejemplo??. gracias
Ejemplos de eso no tengo. Te digo una idea que se me ocurre.
La comilla doble es el ascii 34, se puede leer el fichero linea a linea y buscar aperturas y cierres de comillas usando la función Instr
Posi = Instr(1,Linea,Chr$(34))
if Posi <> 0 Then
' encontró la primer comilla
Posi2 = Instr(Posi+1,Linea,Chr$(34))
if Posi2 <> 0 Then
' encontró la comilla de cierre
Palabra = Mid(LInea,posi+1,posi2-posi1)
end if
end if
Esto se repite hasta el final de la linea y hasta la última linea del fichero, es decir, son 2 bucles anidados.
Saludos
La comilla doble es el ascii 34, se puede leer el fichero linea a linea y buscar aperturas y cierres de comillas usando la función Instr
Posi = Instr(1,Linea,Chr$(34))
if Posi <> 0 Then
' encontró la primer comilla
Posi2 = Instr(Posi+1,Linea,Chr$(34))
if Posi2 <> 0 Then
' encontró la comilla de cierre
Palabra = Mid(LInea,posi+1,posi2-posi1)
end if
end if
Esto se repite hasta el final de la linea y hasta la última linea del fichero, es decir, son 2 bucles anidados.
Saludos
Dim path As String
path = "C:archivo.txt" 'Aqui pones el nombre de tu archivo
Dim canal As Integer, cad As String, hallada As String, cur As Long, posi As Long, posf As Long
canal = FreeFile
Open path For Input As canal
cad = Input$(LOF(canal), canal)
Close canal
cur = 1
Do While cur < Len(cad)
posi = InStr(cur, cad, Chr$(34))
If posi = 0 Then Exit Do
cur = posi + 1
posf = InStr(cur, cad, Chr$(34))
If posf = 0 Then Exit Do
cur = posf + 1
hallada = Mid(cad, posi + 1, posf - posi - 1)
MsgBox hallada 'Para mostrar la cadena entrecomillada
Loop
path = "C:archivo.txt" 'Aqui pones el nombre de tu archivo
Dim canal As Integer, cad As String, hallada As String, cur As Long, posi As Long, posf As Long
canal = FreeFile
Open path For Input As canal
cad = Input$(LOF(canal), canal)
Close canal
cur = 1
Do While cur < Len(cad)
posi = InStr(cur, cad, Chr$(34))
If posi = 0 Then Exit Do
cur = posi + 1
posf = InStr(cur, cad, Chr$(34))
If posf = 0 Then Exit Do
cur = posf + 1
hallada = Mid(cad, posi + 1, posf - posi - 1)
MsgBox hallada 'Para mostrar la cadena entrecomillada
Loop
y ese es el codigo, hace todo desde abrir el fichero hasta mostrar en pantalla las palabras entrecomilladas
Saludos
Edgarin
[email protected]
Saludos
Edgarin
[email protected]
