Matlab - Reemplazar cadena de caracteres en un archivo externo

   
Vista:

Reemplazar cadena de caracteres en un archivo externo

Publicado por Arnold Torres arnoldts4@hotmail.com (26 intervenciones) el 09/04/2011 02:02:40
Hola a todos...
Tengo un problema que la verdad no se si tenga solución. Quiero reemplazar una cadena de caracteres en un archivo de extensión .txt (u otro) utilizando matlab. Les explico mejor, tengo un archivo .txt que contiene la siguiente cadena: 'El perro esta en la casa', deseo reemplazar la palabra 'perro' por 'loro' de tal forma que el archivo .txt quede asi: 'El loro esta en la casa'.. Para mi es facil leer la cadena e identificar la palabra 'perro' pero no se como reemplazarla ¿Alguien tiene idea de como hacerlo? Les agradezco mucho
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 Dave

Reemplazar cadena de caracteres en un archivo externo

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 13/04/2011 03:38:30
Hola Arnold;

Una opción simple y menos complicada podría ser que uses la función "strfind", para determinar la ubicación de la palabra que deseas reemplazar.

Espero que sea de alguna ayuda.

Saludos
Dave
correa.dave30@gmail.com
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 JOSE JEREMIAS CABALLERO

Reemplazar cadena de caracteres en un archivo externo

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 09/04/2011 05:51:46
Hola Arnold,
hice un programa a lo q estas pidiendo, aunque falta optimizar.
Tanto el archivo texto, como el programa por el momento deben estar en mismo directorio para que se puedan ejercutar correctamente. Si hay dudas vuelves a escribir.

%=============================================
clear
texto=importdata('arnold.txt');
cad1=texto{1};
fprintf('%s\n',cad1);
pal_cambiar=input('Ingrese la palabra a cambiar: ','s');
pal_nuevo=input('Ingrese el nuevo palabra: ','s');
n=length(pal_nuevo);
m=length(pal_cambiar);
fid=fopen('arnold.txt','w');
fprintf(fid,'%s',cad1(1:3));
fprintf(fid,'%s',pal_nuevo);
fprintf(fid,'%s\n',cad1(3+m+1:end));
fclose(fid);
edit arnold.txt
%======================================

EJECUCION
>> arnold
el perro esta en casa
Ingrese la palabra a cambiar: perro
Ingrese el nuevo palabra: loro

>> arnold
el loro esta en casa
Ingrese la palabra a cambiar: loro
Ingrese el nuevo palabra: gato

>> arnold
el gato esta en casa
Ingrese la palabra a cambiar: gato
Ingrese el nuevo palabra: pato

>> arnold
el pato esta en casa
Ingrese la palabra a cambiar: pato
Ingrese el nuevo palabra: ganso


Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB
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 JOSE JEREMAS CABALLERO

Reemplazar cadena de caracteres en un archivo externo

Publicado por JOSE JEREMAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 09/04/2011 08:12:36
Hola Arnold,
hice un programa a lo q estas pidiendo,
Tanto el archivo texto, como el programa por el momento deben estar en mismo directorio para que se puedan ejercutar correctamente.
En este programa puedes cambiar una palabra o un conjunto de palabras cualquiera de una fila de palabras. Si hay dudas vuelves a escribir.

%========================================================
clear,
texto=importdata('arnold.txt');
cad1=texto{1};
fprintf('%s\n',cad1);
pal_cambiar=input('Ingrese la palabra a cambiar: ','s');
pal_nuevo=input('Ingrese el nuevo palabra: ','s');
m=length(pal_cambiar);
n=length(pal_nuevo);
for i=1:length(cad1)
if cad1(i:i+m-1)==pal_cambiar
break;
end
end
fid=fopen('arnold.txt','w');
fprintf(fid,'%s',cad1(1:i-1));
fprintf(fid,'%s',pal_nuevo);
fprintf(fid,'%s\n',cad1(i+m:end));
fclose(fid);
edit arnold.txt
%======================================

%EJECUCION

>> arnold1
El perro esta en la casa
Ingrese la palabra a cambiar: casa
Ingrese el nuevo palabra: sala

>> arnold1
El perro esta en la sala
Ingrese la palabra a cambiar: perro
Ingrese el nuevo palabra: loro

>> arnold1
El loro esta en la sala
Ingrese la palabra a cambiar: sala
Ingrese el nuevo palabra: cocina

Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB
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

Reemplazar cadena de caracteres en un archivo externo

Publicado por Arnold Torres (26 intervenciones) el 17/04/2011 01:34:32
Bueno... fue de gran ayuda sus aportes... garcias... ya le di solución al problema
Saludos.. si alguien esta interesado q solo haga la petición y con mucho gusto le colaboro
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