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

Langage Java Discussion :

Insertion de retours à la ligne dans un String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut Insertion de retours à la ligne dans un String
    Bien le bonjour,

    j'ai une chaine de caractère, et je voudrais insérer dedans : X retours à la ligne.

    En fait j'ai une ligne : "....................................................................."

    Je doit insérer des retour à la ligne toute les X colonnes, pour former Y lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     0                     X
    "......................."  0
    "......................."
    "......................."  Y
    je suis partie dans l'idée de faire des bouts de string (dans un tableau de string) puis de reconcaténer le tout dans une string finale, mais c'est pas terrible, surtout s'il y a plus facile et plus rapide.


    Merci.

  2. #2
    Membre éclairé Avatar de TrYde
    Homme Profil pro
    Responsable de l'industrialisation logiciel
    Inscrit en
    Juillet 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable de l'industrialisation logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 55
    Par défaut
    Bonjour,

    Sans passer par une table de Strings, pour insérer simplement des retours à la ligne, une chaîne temporaire et une boucle feront l'affaire.

    Genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Nombre de colonnes = x
    // Chaîne d'entrée = strSource
     
    String strResultat = "";
    for (int i = 0; i < strSource.length(); i += x) {
        strResultat = strResultat + strSource.substring(i, i + x - 1) + '\n';
    }
     
    // Ensuite on ajoute la dernière ligne si incomplète
    if (strSource.length % x != 0) {
        strResultat = strResultat + strSource.substring(strSource.length() - strSource.length() % x);
    }

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    et remplacer les \n par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getPropert('path.separator');
    histoire d'être bien portable

  4. #4
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par sinok Voir le message
    et remplacer les \n par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getPropert('path.separator');
    histoire d'être bien portable
    Heu tu voulais sans doute plutôt dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("line.separator");

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    oups, gouré de property, merci de la correction

  6. #6
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    Merci beaucoup TrYde, sauf qu'il faut modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSource.substring(i, i + x - 1)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSource.substring(i, i + x)
    en effet, le '-1' fait qu'on détruit un caractère, alors qu'en fait c'est bien une insertion que je cherchais, mais merci beaucoup.

    De plus j'ai mis en commentaire, le 'if' qui suit, parceque ma chaine est normalement toujours de la bonne taille, mais on ne sais jamais.

    Merci sinok et Deadpool en effet c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("line.separator");
    qu'il faut utiliser

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Attention il est préférable d'utiliser un StringBuffer/StringBuilder plutôt que de faire des concaténations de String dans une boucle !


    a++

  8. #8
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Attention il est préférable d'utiliser un StringBuffer/StringBuilder plutôt que de faire des concaténations de String dans une boucle !


    a++
    C'est une histoire de performance ???

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

Discussions similaires

  1. Insertion retour à la ligne dans champ mémo
    Par PapouDomi dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/03/2011, 09h06
  2. Retour a la ligne dans un string
    Par naazih dans le forum Débuter
    Réponses: 11
    Dernier message: 09/06/2008, 11h37
  3. [débutant] Gestion retour à la ligne d'une String dans une JSP
    Par caballero dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/02/2008, 12h14
  4. Insertion d'un retour à la ligne dans une TextBox
    Par clodius46 dans le forum VBA Word
    Réponses: 2
    Dernier message: 05/09/2007, 23h24
  5. [VB.NET] Enlever les retours à la ligne dans une string
    Par adrix26 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/01/2007, 23h27

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