[java] caractere inconnu

Fermé
karine - 1 juin 2005 à 16:55
 karine - 2 juin 2005 à 14:36
Bonjour à tous !

J'ai une fonction qui filtre une chaine de caractere.
Je la lis caractere par caractere.
Mais j'ai un caractere que je ne sais pas définir.
Dans mon code, je fais une trace
System.out.println("i : " + txt.charAt(i) + ".");

A l'affichage j'ai ça :
i : .

Apparemment il y a 4 blancs.

Mais avec ce test
if ((txt.charAt(i) == ' ') || (txt.charAt(i).toString() == "    ")) {entre dans la boucle}


ça ne va jamais dans la boucle !!

Est-ce que quelqu'un sait ce qu'est ce caractere ?

Merci beaucoup!
A voir également:

6 réponses

On dirait que le test n'est pas passé :
if ((txt.charAt(i) == ' ') || (txt.charAt(i).toString() == "    ")) {entre dans la boucle}


et l'affichage du i (j'espère que ça va marcher.
i : .
0
B**del de truc de code qui veut pas passer !!

Je l'écris comme ça alors :
if ((txt.charAt(i) == ' ') || (txt.charAt(i).toString() == " ")) {entre dans la boucle}

Pour l'affichage du i, c'est quatre blancs (ça veut pas passer à l'affichage)

Merci pour votre aide ! ;-)
0
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
1 juin 2005 à 17:12
salut karine,

== ne fonctionne pas pour les String !
Il faut utiliser la méthode equals()
Par exemple :
texte.equals("bonjour");


A+
0
Merci,

mais je pense pas que c'est ça le problème.

Quand je fais System.out.println("ici:"+txt.charAt(i)+".");

J'obtiens que txt.charAt(i) est égal à quatre blancs.

Quel est ce caractere ?
Pour que je puisse faire ensuite un test

if (txt.charAt(i) == 'ce_caractere')

Merci beaucoup !!
0
J'ai fait quelques tests et on dirait que l'erreur vient d'ailleurs.

A un moment, je traite ma chaine avec une methode enlever_balises.
public String enlever_balises (String txt, int i) {
String chaine = "";

String retour = "";
	
chaine = txt.substring(i+1,txt.length());
	for (int j=0; j<chaine.length(); j++) {
		if (chaine.charAt(j) == '>') {
			retour = chaine.substring(j+1,chaine.length());
			txt = retour;
			break;
		}
	}
	System.out.println("txt apres balises:"+txt+".");
return txt;
} // !enlever_balises




Voici ma chaine avant le passage de cette méthode :
<br> <img src="images/ptite-prairie.gif"><br>

Il y a 4 espaces entre br et img.

Puis appel de la méthode, j'obtiens:
txt apres balises: <img src="images/ptite-prairie.gif"><br>

il y a 6 espaces entre : et img

C'est pas normal !!

Ma méthode prend une chaine et enlève la première balise html qu'il trouve. Et rend la chaine privée de cette balise. Elle rajoute pas des espaces!!

Est-ce que quelqu'un y comprend quelque chose ?

Merci!
0
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
2 juin 2005 à 12:24
essaie la méthode trim() :
String trim() 
          Returns a copy of the string, with leading and trailing whitespace omitted. 


quand tu fais texte.trim() ca enlève les blancs en début et en fin de texte.
0
jebok Messages postés 358 Date d'inscription lundi 16 mai 2005 Statut Membre Dernière intervention 23 octobre 2007 51
2 juin 2005 à 12:33
sinon tu peux aussi utiliser cela :

Character.isWhitespace(texte.charAt(i));

ca te donne un booléen :
- true si c'est un caractère blanc
- false sinon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pool Orion Messages postés 124 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 15 juin 2007 55
2 juin 2005 à 13:07
Salut Karine,

A mon avis, ton caractère est une tabulation et donc sa longueur est fonction du système où tu l'envoie.
Si c'est bien le cas, il existe des constantes dans KeyEvent.

0
Merci à tous !!
0