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

API standards et tierces Java Discussion :

String - compléter avec des espaces !


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut String - compléter avec des espaces !
    Salut,

    Je cherche une fonction qui me permettrait complèter une chaîne de caractères avec un ou plusieurs espace !

    L'équivalent de comstr_pad !

    Exple : Pour la chaine "bonjour", ajouter des espaces à la suite pour obtenir une chaine de 10 caractères "bonjour "

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 46
    Par défaut
    Je ne sais pas si une telle fonction existe mais j'ai fais rapidement une petite fonction qui pourrait satisfaire tes besoins...

    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
     
    	/**
             *      Complete une chaîne de caractères avec des espaces et ce, jusqu'à
             *              atteindre la taille minimale <i>minLength</i>
             *
             *      @param stringToFill
             *                      La chaîne à completer d'espaces
             *      @param minLength
             *                      Taille minimale de la chaîne
             *      @return
             *                      La chaîne de taille <i>minLength</i> remplis, si besoin, d'espaces.
             **/	
    	final static String fillStringWithSpace(String stringToFill, int minLength) {
    		// On test si la chaine est inférieur a la taille minimale
    		if (stringToFill.length() >= minLength)
    			return stringToFill;
    		// Sinon on remplit par des espaces
    		else {
    			// On remplis la chaîne par des espaces jusqu'a atteindre la taille minimale
    			while (stringToFill.length() < minLength)
    				stringToFill = stringToFill.concat(" ");
     
    			// On retourne la nouvelle chaîne
    			return stringToFill;
    		}
    	}
    Si tu as des questions, n'hésite pas..

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230

  4. #4
    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,


    Sinon à partir de Java 5.0 on peut utiliser le formatage "à la printf()" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	String str = String.format("%-10s", "bonjour");
    	System.out.println("["+str+"]");

    Plus d'info : java.util.Formatter

    a++

  5. #5
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    @tittoto
    Pour des constructions de chaînes, utiliser plutôt un StringBuilder, si minLength est grand, ça pose des problèmes de performance

    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
     
    final static String fillStringWithSpace2(String stringToFill, int minLength) {
    	// On test si la chaine est inférieur a la taille minimale
    	if (stringToFill.length() >= minLength)
    		return stringToFill;
    	// Sinon on remplit par des espaces
    	else {
    		// On remplis la chaîne par des espaces jusqu'a atteindre la taille minimale
    		StringBuilder builder = new StringBuilder(stringToFill);
    		while (builder.length() < minLength)
    			builder = builder.append(" ");
     
     		// On retourne la nouvelle chaîne
    		return builder.toString();
    	}
    }

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 46
    Par défaut
    Je prends note

  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
    Citation Envoyé par remika
    @tittoto
    Pour des constructions de chaînes, utiliser plutôt un StringBuilder, si minLength est grand, ça pose des problèmes de performance
    +1

    Ou StringBuffer dans les JDK inférieur à 5.0 (même chose mais inutilement synchronisé)

    a++

  8. #8
    Membre confirmé Avatar de fabred
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 180
    Par défaut Merci
    Ok, merci à tous ! ! !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2011, 17h07
  2. Compléter chaîne avec des espaces
    Par tiboleo dans le forum Développement
    Réponses: 1
    Dernier message: 09/04/2010, 13h54
  3. Compléter un champ avec des espaces
    Par milka dans le forum SQL
    Réponses: 1
    Dernier message: 22/10/2007, 11h04
  4. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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