IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Remplacer chr(10) et chr(13) par des espaces


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut Remplacer chr(10) et chr(13) par des espaces
    Salut tout le monde alors voilà j'ai envi de remplacer les retours chariot et saut de ligne par des espace, mais j'ai testé plein de truc et je sais pas quel est le code que je dois mettre pour ces caractere, je voudrais remplacer les chr(10) et les chr(13) par des espaces , pour la tabulation (chr(9)) j'ai mis \t et sa marche bien.

    Je vous montre monde code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;
    import java.util.regex.Pattern;
     
    public class programmeV2 {
     
    	public static void main(String[] parametre) throws IOException {
     
    		String cheminIn = parametre[0];
    		String cheminOut = parametre[1];
    		String para = parametre[2];
     
     
    		// compilation de la regex
    		Pattern p = Pattern.compile("##");
    		Pattern pp = Pattern.compile("@@");
    		// séparation en sous-chaînes
    		String[] items = p.split(para);	
     
    		Scanner scanner=new Scanner(new File(cheminIn));
     
    		FileWriter writer = null;
    		writer = new FileWriter(cheminOut, false);
     
    		//Lecture du fichier
    		while (scanner.hasNextLine()) {
    		    String line = scanner.nextLine();
    		    //Remplace les caractères
    			for(int i=0; i < items.length; i++){
    				String[] sousItems = pp.split(items[i]);
    				String paraIn= sousItems[0];
    				String paraOut = sousItems[1];
    				line=line.replaceAll(paraIn, paraOut);
    			}
     
    		    //Ecriture dans le nouveau fichier
    		    String texte = line+System.getProperty("line.separator");
    		    try{
    		         writer.write(texte,0,texte.length());
    		    }catch(IOException ex){
    		        ex.printStackTrace();
    		    }
    		} 
    		writer.close();
    		scanner.close();    
    	}
    }
    Dans sousItems[0] j'ai le caractere a remplacer, et dans sousItems[1] le caractere remplacent, mais de probleme dans le code c'est juste pour le caractere retour chariot et saut de ligne que sa marche pas.

    Merci de votre aide !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Utilise un regex avec le pattern \s (qui inclura \n,\t\r).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replaceAll("\\s+", " ")
    A+.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut
    ok, merci juste avant de me poser sur le probleme, j'ai déjà essayer de mettre
    replaceAll("\n", " ") ou replaceAll("\r", " ") ou même replaceAll("\r\n", " "). Si tu pouvais me confirmer que avec ta technique sa marcherait ?

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Ben si tu veux ne remplacer que \n, \r et \t replaceAll("[\\r\\n\\t]+", " "); suffira.

    A+.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 71
    Par défaut
    Re, alors j'ai testé ce que tu ma donnée sur un fichier texte (blocnote) simple avec des tabulations et des saut de ligne (avec la touche entrée) et le programme traite correctement les tabulations mais les saut de lignes non >.<
    Merci pour ta réponse

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Déjà tu lits ton fichier ligne par ligne
    scanner.hasNextLine()
    --> les sauts de lignes ne sont pas lus
    et aussi tu ajoutes un saut de ligne à chaque lecture de ligne dans le nouveau
    String texte = line+System.getProperty("line.separator");
    Ne penses tu pas que ça vient de là?

    A+.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tabulations remplacées par des espaces entre les balises CODE
    Par Médinoc dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 21/09/2010, 11h34
  2. [DOM] Remplacer les <br> par des espaces
    Par Sammuel dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/12/2009, 15h16
  3. Remplacer des Tabulations par des espaces dans une RichTextBox
    Par skar.theparadiz dans le forum Windows Forms
    Réponses: 11
    Dernier message: 11/07/2008, 14h43
  4. Comment remplacer les tabulations par des espaces ?
    Par richarno dans le forum Langage
    Réponses: 7
    Dernier message: 25/10/2007, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo