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 :
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.
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(); } }
Merci de votre aide !
Partager