Insérer un caractère dans un string
Résolu
Vitaldix
Messages postés
116
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
bon c'est sûrement un truc tout bête mais je cherche comment faire pour insérer dans un string un même caractère à un intervalle régulier !
J'avais fait quelque chose comme ça :
Mais là rien ne se passe, et je ne comprend pas pourquoi (enfin y'a le blabla qui apparait mais sans le retour à la ligne).
De plus ce code ne marcherait que pour i=2, or je voudrais le faire tous les 2 caractères par exemple.
Merci de m'éclairer !
bon c'est sûrement un truc tout bête mais je cherche comment faire pour insérer dans un string un même caractère à un intervalle régulier !
J'avais fait quelque chose comme ça :
public class carac
{
public static void main(String[] args)
{
String test = "blablablablablablabla";
int longueur = test.length();
for ( int i = 0; i > longueur ; i++ )
{
test = test + test.charAt(i);
if (i==2)
{
test += "\n" ;
}
}
System.out.println(test);
}
}
Mais là rien ne se passe, et je ne comprend pas pourquoi (enfin y'a le blabla qui apparait mais sans le retour à la ligne).
De plus ce code ne marcherait que pour i=2, or je voudrais le faire tous les 2 caractères par exemple.
Merci de m'éclairer !
1 réponse
-
Rien ne se passe à cause de ton test de boucle "i > longueur" qui est faux...
Remarque : ce que tu fais ce n'est pas de l'insertion de caractères, mais de la concaténation de chaîne de caractères ! Si tu veux vraiment faire de l'insertion, utilise un StringBuilder et la méthode insert(int,char).-
-
C'est simple, tu indiques en premier argument la position où tu veux insérer, et en deuxième argument le caractère que tu veux insérer.
Evidemment, cela ne s'applique qu'à un StringBuilder (ou un StringBuffer) qui sont modifiables contrairement aux String qui ne peuvent jamais être modifiés.
StringBuilder sb = new StringBuilder("abc"); sb.insert(2,'-'); System.out.println(sb); -
Ca marche, mais comment faire pour que cela s'applique plusieurs fois ?
Par exemple :StringBuilder sb = new StringBuilder("abcabcabcabc"); sb.insert(2,'-'); System.out.println(sb);
Pour que ça devienne
ab-ca-bc-ab-ca-bc ??
J'ai essayé avecfor (int i =0; i<longueur; i++) { sb.insert(2,' '); }
J'ai droit à un espace de la longueur du texte !
Merci ! -
-
-