Python - Buscar una palabra en una cadena de caracteres y remplazar

   
Vista:

Buscar una palabra en una cadena de caracteres y remplazar

Publicado por Christian (4 intervenciones) el 30/12/2015 23:22:05
Buenas, como hago para buscar una palabra en un texto.txt, y remplazarla, leyendo el archivo linea por linea.

tambien como puedo si encuentro la palabra en esa linea cambiar toda la linea como quiero ejemplo:

function () = ejemplo()
hola este ese el ejemplo
si si si

Entonces con la lectura del texto cambiar esa linea function()=ejemplo() por def ejemplo ( ): ..
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jorge De Los Santos

Buscar una palabra en una cadena de caracteres y remplazar

Publicado por Jorge De Los Santos (54 intervenciones) el 31/12/2015 01:45:17
Hola Christian,


Te adjunto un ejemplo muy sencillo sobre como podrías implementarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# -*- coding: utf8 -*-
import re
 
def read_file(filename):
	f = open(filename,"r")
	lstr = f.readlines()
	f.close()
	return lstr
 
def write_file(lstr,filename):
	f = open(filename,"w")
	f.writelines(lstr)
	f.close()
 
def replace_fun(lstr):
	_fun = re.compile("function[\s*\w*\s*]*?=?\s*(\w+\([\w*\,?\w*]*\))")
	for k,line in enumerate(lstr):
		if _fun.findall(line):
			lstr[k] = "def " + "".join(_fun.findall(line)) +":\n\t\r"
	return lstr
 
 
if __name__=="__main__":
	mcode = read_file("test.m")
	pycode = replace_fun(mcode)
	write_file(pycode,"test.py")


Básicamente lo que se hace es utilizar la librería "re" para trabajar con expresiones regulares, puedes darle una revisada a la documentación de Python.

https://docs.python.org/2/library/re.html




Saludos.

Jorge De Los Santos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Buscar una palabra en una cadena de caracteres y remplazar

Publicado por Christian (4 intervenciones) el 31/12/2015 02:15:31
Gracias.!
Me sirvio mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Buscar una palabra en una cadena de caracteres y remplazar

Publicado por xve (1231 intervenciones) el 31/12/2015 08:37:57
Muy bueno!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar