Página 1 de 1

Dilema con StringRegExp

Publicado: 20 Mar 2013, 03:53
por avechuche
Se que hay otros post, pero no tienen que ver con lo que pido. Resulta que tengo un archivo ".txt" en el cual en cada linea tengo texto que quiero capturar con StringRegExp. El archivo es algo asi

Código: Seleccionar todo

// Esta es la primera linea, donde hay una descripcion/comentario, todo lo que esta despues de "//" es comentario
texto
texto1 // comentario
texto2
// Otro comentario
texto con espacios // comentario
Lo que yo quiero que me devuelva StringRegExp es

Código: Seleccionar todo

texto
texto1
texto2
texto con espacios
Eh intentado pero nada, no hay caso. Alguna solucion? Gracias!

Re: Dilema con StringRegExp

Publicado: 20 Mar 2013, 16:29
por Dany
No manejo las expresiones regulares pero algo así podría funcionar.



Código: Seleccionar todo

$nuevacadena= StringRegExpReplace($tutexto, "//.*", "")
MsgBox(0, "",$nuevacadena)

por si no entiendes aquí mas claro.

Código: Seleccionar todo

$miarchivo=Fileread("1.txt")
msgbox(0,"",$miarchivo)
$nuevo_archivo = StringRegExpReplace($miarchivo, "//.*", "")
MsgBox(0, "",$nuevo_archivo)




saludos :smt027

Re: Dilema con StringRegExp

Publicado: 21 Mar 2013, 10:23
por chekok
Tienes más funciones para manejo de cadenas, dale un vistazo en la ayuda a StringInStr (encuentra una cadena dentro de otra).
Ejemplo:

Código: Seleccionar todo

StringInStr($mi_cadena,"//")
O si sabes la longitud exacta de cada cadena puedes probar también con StringTrimLeft y con StringTrimRight. Coge solo desde la posición que indicas hasta el final por la izquierda o la derecha según la función).
ejemplo:

Código: Seleccionar todo

$cadena = "texto1 // comentario"
$cadena = StringTrimLeft($cadena,6)
Esto te devuelve $cadena = "texto1" (desde la izquierda de la cadena, 6 posiciones o caracteres).
Repásate las funciones de la ayuda buscando por "String" y verás que hay varias que te pueden ser útiles.
Yo también guardaría el contenido del fichero en un array, siendo cada posición del array cada línea del fichero. Esto te hará más fácil trabajar luego con las funciones de String.

No se me ocurre nada más conciso, ya nos cuentas que tal te ha ido.
Seguro que algún otro compañero del foro maneja mejor el tema de las cadenas.

Re: Dilema con StringRegExp

Publicado: 21 Mar 2013, 15:07
por Dany
lo que dice chekok es verdad aunque mas tedioso y lento. con expresiones regulares va muy bien y claro se puede optimizar mucho mas.

:smt027

Re: Dilema con StringRegExp

Publicado: 21 Mar 2013, 21:09
por avechuche
Gracias gente, ya lo resolvi con una ER! La de Dany no sirvio y lo de checok solo sirve si se exactamente el tamaño del texto, cosa que es imposible porque puede ir cualquier texto, aparte en gran cantidad de texto StringInStr, se vuelve muy lento :(