Pregunta: | 1610 - COMO REEMPLAZAR UNA CADENA |
Autor: | Roger Martinez |
Como puedo buscar en un fichero determinado (notas.txt) una determinada cadena y reemplazarla ? |
Respuesta: | Ignacio Alles |
open(READFILE, " open(WRITEFILE, ">notas2.txt"); #abre archivo para escritura while (($line = #repite para cada linea $line = s/cadena_que_busco/cadena_por_la_que_reemplazo/r; # cadena_que_busco: es la cadena que está en el archivo que queres reemplazar # cadena_por_la_que_reemplazo: es la cadena nueva, que queres poner cada vez que aparezca la otra cadena # si querés que haga un solo reemplazo por renglon, tenes que sacar la "r" del final de la linea, y quedaria así: # $line = s/cadena_que_busco/cadena_por_la_que_reemplazo/; print WRITEFILE $line; # escribe la cadena cambiada en el nuevo archivo } |
Respuesta: | David Coello |
Hace dos años que programe en Perl, asi que pude que la solucion no sea la mas fina. Cargar un fichero # Empieza codigo # Carga las secciones del fichero secciones.dat open (secciones,"<seccion.dat"); @todas_secciones=<secciones>; $todas_secciones=@todas_secciones; close secciones; # Acaba codigo Este trozo carga un fichero llamado seccion.dat y lo mete en un array llamado @todas_Secciones. La variable escalar $todas_secciones contiene el nuemro de registros del array. Buscar una determinada cadena # Empieza codigo for ($i=0;$i<=$todas_secciones-1;$i++) { $j = index($todas_secciones[$i],$Cadena_busco); if ($j)<> -1) { # Lo encontro en la fila $i en la posicion $j substr ($todas_secciones[$i],$j,len($cadena_busco),$cadena_sustituyo); } } # Termina codigo Saludos David Coello PD : Tienes documentacion y ejemplos de Perl en www.cgi-resources.com |