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

JavaScript Discussion :

Aide fonction substring


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut Aide fonction substring
    Bonjour a tous,
    Je suis en train de développer une application en HTML/Javascript cependant j'ai une petite question.
    En effet, j'ai une chaine de caractere de 25000 caracteres et je voudrais remplir un tableau en récupérant chaque champs dont je connais la longueur.
    J'ai trouvé un petit algorithme me permettant de réaliser ce que je veux faire cependant, j'ai un soucis...
    En faite, je voudrais récuperer le debut de cette chaine de caractere sur une longueur définie pour la stocker dans une variable intermédiaire. Jusque la, rien de bien compliqué, j'utilise la fonction substr().
    Par contre, je voudrais que ce que je viens de récuperer dans la chaine de caractere grâce à la fonction substring soit éffacé de la chaine de caractere, un peu comme le fait la fonction substring() en JAVA.
    Existe t'il une solution à ce problême.

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    A froid là, il existe le split mais il faut un caractère précis de coupure. Ca vous renvoie un tableau avec les chaines retrouvées entre les occurences du split.
    Sinon, vous faites un premier substring des x premiers caractères. Puis un second substring des caractères en commençant à x+1 et vous remettez le résultat dans la chaine de départ.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Bonjour,

    Il ne me semble pas que la fonction substring() en java fasse de telle chose, mais si tu veux extraire une partie d'une chaine de caractère et donc modifier celle-ci, tu dois faire un autre traitement après ton extraction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var maChaine = "blablablablablablabla";
    var sousChaine = maChaine.substr(0,3);
    maChaine = maChaine.substr(3);
    Cet exemple est simpliste, mais si tu as fait un algorithme qui te découpe la chaîne, il te faudra l'adapter avec tes indices de "découpe"...

    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    Je ne peux pas faire ça parce que le contenu de ma variable de 25000 sera toujours le même et il faut que celle ci diminue au fur et a mesure que je remplis mon tableau dynamique...
    J'ai pensé a split aussi mais en effet, il faut un caractere spécial pour couper celle ci...

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Pourquoi ta variable "source" ne serait pas modifiée si tu lui affectes le contenu de cette même variable moins le contenu extrait ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    Citation Envoyé par BaBeuH Voir le message
    Il ne me semble pas que la fonction substring() en java fasse de telle chose,
    Pour avoir eu a utiliser la fonction substring en java, je sais que celle çi supprime le contenu indiqué dans la variable

    mais si tu veux extraire une partie d'une chaine de caractère et donc modifier celle-ci, tu dois faire un autre traitement après ton extraction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var maChaine = "blablablablablablabla";
    var sousChaine = maChaine.substr(0,3);
    maChaine = maChaine.substr(3);
    Cet exemple est simpliste, mais si tu as fait un algorithme qui te découpe la chaîne, il te faudra l'adapter avec tes indices de "découpe"...

    A+
    Le probleme de la solution proposé est que la variable ma chaine est toujours "blablablablablablabla" et il faudrait que celle ci diminue a chaque fois que je prend le texte du début...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    Citation Envoyé par BaBeuH Voir le message
    Pourquoi ta variable "source" ne serait pas modifiée si tu lui affectes le contenu de cette même variable moins le contenu extrait ?
    Bah il s'agit d'une variable alphanumérique, et la soustraction est donc impossible.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    La fonction subString en java ne modifie pas le contenu de la chaine, elle ne fait que renvoyer une partie de cette chaine...

    Bref...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var maChaine = "blablablablablablabla";
    alert("Avant extraction :\nmaChaine = "+maChaine+"\nmaChaine.length = "+maChaine.length);
    var sousChaine = maChaine.substr(0,3);
    maChaine = maChaine.substr(3);
    alert("Après extraction : \nmaChaine = "+maChaine+"\nmaChaine.length = "+maChaine.length);
    La chaine a bien été modifiée, non ?

    Bah il s'agit d'une variable alphanumérique, et la soustraction est donc impossible.
    Hmmmm, quand j'ai dis "moins", c'était au sens "sans", "oté de", "extrait" mais pas au sens arithmétique...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut
    En effet, la chaine a bien été modifiée,
    si je comprends bien ton petit bout de code, substr(3) supprime les trois premiers caracteres ?

  10. #10
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Oui. La fonction substring Javascript connait au moins deux définitions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    substr(index de départ, longueur à atteindre);
    substr(longueur à atteindre); //et on commence au premier caractère

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Par défaut Thanks
    Ah merci beaucoup
    Mon problème est résolu, je ne savais pas que substr(int); supprimait le nombre de caractere indiqué.
    Merci beaucoup Babeuh
    Tu gères

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

Discussions similaires

  1. aide fonction tri heapsort (création du tas)
    Par Invité dans le forum C
    Réponses: 6
    Dernier message: 24/11/2009, 00h27
  2. aide fonction math[racine,cos(),sin(),..]VB6
    Par am.adnane dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/12/2005, 18h40
  3. Doublons et fonction substring-before
    Par dalefou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2005, 14h12
  4. Réponses: 5
    Dernier message: 13/07/2005, 10h03
  5. besoin d'aide fonction avec fichier (debutant)
    Par boby61 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2005, 11h22

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