Remplacement de texte

monstor_rox Messages postés 18 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 15 janvier 2007 - 1 juin 2005 à 09:47
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 - 1 juin 2005 à 22:43
Bonjour

Je vous explique mon problème.
Je souhaite remplacer une chaine de caractère par une autre dans un fichier texte mais je ne connais que l'emplacement de cette chaine dans le fichier et non sa valeur.
En fait donc je voudrai remplacer une chaine par une autre en connaissant son emplacement dans une ligne donnée!!!
En espérent que je me serai fait comprendre
Merci

3 réponses

bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
1 juin 2005 à 13:06
Tu peux nous envoyer un exemple de quelques lignes que tu veux manipuler ?

c'est pour quel genre d'application ?
0
monstor_rox Messages postés 18 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 15 janvier 2007
1 juin 2005 à 13:52
en fait j'ai 2 fichiers texte et je veux les comparer mais certains champs ont le droit d'etres différents. En entrée j'ai donc la position de ces champs dans les fichiers et il faut que je les remplace dans un des 2 fichiers pour qu'ils soient identiques et donc qu'a la comparaison il n'y ai pas de différence pour ces champs la.

exemple de lignes :

1ère ligne :

EDI_DC40 2 ORDERS05 Z00_ORDERS05 ORDERS E96A ORDERSZPT_TXIN LSLSZLS_NZ NZ SAPIN3 LS ZLS_DLS EVREUX 1

1ère ligne du 2ème fichier :

EDI_DC40 400 2 ORDERS05 Z00_ORDERS05 ORDERS E96A ORDERSZPT_TXIN LSLSZLS_NZ NZ SAPPR3 LS ZLS_DLS EVREUX 1


Par exemple les champs que j'ai soulignés doivent etre egaux!
J'ai leur position exacte dans la ligne et c'est tout ce que j'ai

Merci de votre réponse
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
1 juin 2005 à 22:43
Peut-être comme ceci : (x est la position du mot)



int x = 263 ;



//1er mot

String debut = ligne.substring(x) ;

String mot = debut.substring(0 , debut.indexOf(" "));

System.out.println("mot n°1 : -" + mot + "-");



//2eme mot

String debut2 = ligne2.substring(x) ;

String mot2 = debut2.substring(0 , debut2.indexOf(" "));

System.out.println("mot n°2 : -" + mot2 + "-");



if(!mot.equalsIgnoreCase(mot2))

ligne = ligne.replaceAll(mot , mot2);

System.out.println(ligne + "\n" + ligne2);
0
Rejoignez-nous