Je cherche un moyen de supprimer les retour de chariot injustifiés sur un fichier texte pur. (des boulets qui redigent leur fanfic en plaçant un retour de chariot chaque fois qu’ils arrivent au bout de l’ecran). En gros une macro du genre “si code ASCII [retour de chariot] seul alors remplacer le code [retour de chariot] par le code [espace], mais si 2+ code ASCII [retour de chariot] alors laisser comme ça (logique, on veut pas non plus supprimer les retour de chariot délimitant les paragraphes et les chapitres quand même)”.
Seulement je vois pas du tout comment faire ça en pratique ? je sais pas coder donc je peux pas faire ça moi même… si quelqu’un veut me faire une petite appli en CLI, ça serait un code du genre :
10- ouvrir le fichier en ecriture
20- regarder le premier octet, si different de “retour chariot” passer à l’octet suivant, sinon continuer.
30- si l’octet n+1 n’est pas un code “retour chariot”, remplacer l’octet par le code ASCII “espace” et retourner à la ligne 2, sinon continuer
40- avancer d’un octet tant qu’on rencontre “retour chariot”, au premier octet qui n’est pas un “retour chariot”, retourner à la ligne 2.
et le code en boucle jusqu’à la fin du fichier.
Si ya d’autres maniere (un batchfile peut être?) je suis bien evidemment tout aussi preneur. Sinon si quelqu’un pouvait taper le code dans n’importe quel langage de programmation je trouverais bien un IDE freeware pour le langage en question.
Sinon tu télécharges open office ou tu ouvres word et tu coches “afficher les caractères non-imprimables”:
1 - tu sélectionnes tout le texte à la main (ctrl-a)
2 - tu fais “rechercher/remplacer"
3 - tu remplaces tous les retour chariots doubles (PP) par (“ùà}”)
4 - tu remplaces tous les retour chariots seul § par (” ") (du vide)
5 - tu remplaces tous les (“ùà}”) par un retour chariot § (^v pour les retours de paragraphe et ^l pour les retours à la ligne manuels mais je crois que c’est ^p qui marche… sinon c/c sur le caractère non imprimable)
[quote=« nolan, post:3, topic: 26384 »]Sinon tu télécharges open office ou tu ouvres word et tu coches « afficher les caractères non-imprimables »:
1 - tu sélectionnes tout le texte à la main (ctrl-a)
2 - tu fais « rechercher/remplacer »
3 - tu remplaces tous les retour chariots doubles (PP) par (« ùà} »)
4 - tu remplaces tous les retour chariots seul § par (" ") (du vide)
5 - tu remplaces tous les (« ùà} ») par un retour chariot § (^v pour les retours de paragraphe et ^l pour les retours à la ligne manuels mais je crois que c’est ^p qui marche… sinon c/c sur le caractère non imprimable)
Voilà.[/quote]
Sinon on peut aussi tuer une mouche avec un bazooka … si si
juste pour rire voici la reponse de deux potes :
[00:19:18] <Mr_K> Achète office 2003 premium
[00:19:35] <Mr_K> et fait un rechercher remplacer, avec les valeurs octales des chars
[00:19:58] <Mr_K> au passage ultraedit le fait aussi
[00:20:09] <Mr_x> utilise debug.com pour assembler un programme qui fera le taf
[00:20:45] <Mr_x> ou installer cygwin et utiliser cat sed awk grep blabla
Ah oui pas con je savais qu’ultra edit pouvait faire ça mais il est payant, si openoffice peut le faire tres miam.
edit : ouais bon openoffice n’est pas ultra edit, on peut pas mettre de caracteres speciaux dans le champ de recherche (enfin si, inserer > caractere special, mais ça cherche le caractere et pas le retour à la ligne) et ^p marche pas non plus.
du coup still pas résolu…
Faudrait que je bouquine comment on lit et ecrit un fichier en C mais apprendre à me service d’une lib pour faire un truc sur un texte qui me servira qu’une fois…
J’avais zappé textittruc, effectivement ça a l’air d’être pile ce que je recherche. Ceci dit au final il me ressort un formatage bizzare, m’enfin suffit de jouer dans les options
L’appli de Staz marche parfaitement bien ! c’est exactement ce que je cherchais, c’est ce que je vais utiliser, merci beaucoup !