Remplacement d'un caractère dans une chaîne [Résolu]

Signaler
Messages postés
51
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
3 août 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Salut à tous !

Je viens de passer du C/PHP au java, et j'avoue être un peu dérouté.
J'aurais voulu savoir, j'ai un onClick="fonction(variable)" sur un
champ, et dans la fonction, j'aimerais checker la variable recue, qui
est une chaine de caractères, vérifier un à un les caractères, et les
remplacer s'ils sont égaux à certaines valeurs, par exemple si ma
chaine rencontre un espace, le convertir en signe '+'.



Exemple en PHP:

for ($i = 0; $i < strlen($string); $i++)

{

if ($string[$i] == ' ')

$string[$i] = '+';

else if ($string[$i] == '+')

$string[$i] = '2b';

}



En javascript, ca donnerait quoi? Enfin, à supposer que ca soit possible !

Merci !

5 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
salut,



en js :

machaine.replace('+','2b');

machaine.replace(' ','+');
et en php, ton code est dégeu !

str_replace(array('+', ' '), array('2b','+'), $machaine);


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
51
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
3 août 2007

Bah, mauvais héritage du C :)

C'était pour bien montrer la démarche que je voulais avoir... ta
réponse m'aide bien pour ce cas, merci beaucoup, mais il n'y a pas
moyen de faire comme en C/PHP, en parcourant une chaine comme si
c'était un tableau et remplacer les caractères à l'intérieur "à la
barbare" ?
Messages postés
51
Date d'inscription
mercredi 12 octobre 2005
Statut
Membre
Dernière intervention
3 août 2007

Question bête : quand je fais ca, il ne remplace que la première occurence de ' ' ou '+' par la valeur définie dans replace... comment lui faire parcourir toute la chaine?
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
à la barbare, t'as trouvé le mot...



mais ma solution marche...



pour accèder aux éléments d'une chaine comme ne C :



$machaine{$maposition}



mais c'est bien trop lent...


vas ici, tu verras que le php, ça peut être aussi rigoureux que le C...



http://192.168.180.1/index.php?action=lire_page&id=4


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
euh... il n'est pas cencé faire que la première occurence, mais bien toute la chaine...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org