Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/10/2011, 15h35   #1
Invité de passage
 
Inscription : juin 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 37
Points : 4
Points : 4
Par défaut Chaîne de caractères

Bonjour a tous,

voila j'aimerai pourvoir récupérer des éléments dans une chaîne de caractères
voici une exemple

Code :
1
2
3
4
5
6
7
 
 
var chaine = "500 4000 Briquet alambique";
var tab = chaine.split(" ");
var x = tab[1];
var y = tab[2];
var name = tab[3];
Alors je split mon tableau en fonction des espaces, mais j'aimerai récupérer le nom en fin de chaîne, le problème c'est que j'obtiens un tableau contenant d'autres tableaux grâce a la fonction split. Ainsi bah ma variable name sera tronquée car split découpe tout en fonction des espaces et le nom peut contenir plusieurs mots ....

Comment faire pour récupéré proprement chaque élément dans une variable en sachant que les éléments seront tjs disposes de cette manière
x , y, name.

en gros je veux pouvoir a partir de tab[2], récupéré tout ce qui suit après dans une variable name. Sans doute que la fonction split n'est pas adaptée ....

Merci a tous !
Necko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 15h44   #2
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 690
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 690
Points : 5 760
Points : 5 760
Si vous avez effectivement un formatage bien précis, alors vous pouvez passer par les expressions régulières.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 15h46   #3
Invité de passage
 
Inscription : juin 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 37
Points : 4
Points : 4
C'est bon en fait j'ai trouve

pour ceux qui ont une meilleur methode, n’hésitez pas.


exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
var chaine = "50 50 criquet des bois";
var splitage = chaine.split(" ");
var x = splitage[0];
var y = splitage[1];
var name = "";
 
var i = 2;
while (i < splitage.length)
{
    var tmp = splitage[i];
    name += name + tmp;
    name += " "; /* pour garder les espaces :) */
    i++;
}
Necko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h24   #4
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 574
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 574
Points : 4 077
Points : 4 077
Citation:
Envoyé par Necko Voir le message
Comment faire pour récupéré proprement chaque élément dans une variable en sachant que les éléments seront tjs disposes de cette manière
x , y, name.

en gros je veux pouvoir a partir de tab[2], récupéré tout ce qui suit après dans une variable name. Sans doute que la fonction split n'est pas adaptée ....!
Citation:
Envoyé par Necko Voir le message
C'est bon en fait j'ai trouve

pour ceux qui ont une meilleur methode, n’hésitez pas.
Code :
1
2
3
4
var chaine = "50 50 criquet des bois";
var filtre = /([^ ]*) ([^ ]*) (.*)/;
var resultat = chaine.match(filtre).splice(1);
// et on obtient donc : ["50", "50", "criquet des bois"]
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h26   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
splice ?
unshift non ?

[edit]

shift pardon ...
Code :
1
2
3
4
5
var chaine = "50 50 criquet des bois";
var filtre = /^(\w+)\s(\w+)\s(.+)/;
var resultat = chaine.match(filtre)
resultat.shift()
alert(resultat)
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h28   #6
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 574
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 574
Points : 4 077
Points : 4 077
Citation:
Envoyé par SpaceFrog Voir le message
splice ?
unshift non ?
Ca marche aussi tu as raison
Code :
1
2
3
4
var chaine = "50 50 criquet des bois";
var filtre = /([^ ]*) ([^ ]*) (.*)/;
//var resultat = chaine.match(filtre).unshift();
var resultat = chaine.match(filtre).shift();// edit : oui oops je t'ai suivi un peu vite ;)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 16h34   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
on s'est croisés RV j'ai rectifié le post précédent
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h18.


 
 
 
 
Partenaires

Hébergement Web