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 :

Découpage de string


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2003
    Messages : 37
    Points : 38
    Points
    38
    Par défaut Découpage de string
    Bonjour

    Source de la page web :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <li class="recipe-ingredients__list__item">
    					<img class="ingredients-list__item__icon" src="https://image.jpg"><div><span class="recipe-ingredient-qt" data-base-qt="120">120</span>
    						<p class="name_singular" data-name-singular="g  de beurre" style="display: none;"></p>
    						<p class="name_plural" data-name-plural="g de  beurre" style="display: none;"></p>
    						<p class="complement_singular" data-complement-singular="" style="display: none;"></p>
    						<p class="complement_plural" data-complement-plural="" style="display: none;"></p>
    					       <span class="ingredient">g de  beurre </span><span class="recipe-ingredient__complement"></span></div>				</li>
     
    <li class="recipe-ingredients__list__item">
    					<img class="ingredients-list__item__icon" src="https://image.afcdn.com/recipe/20170607/67505_w100h100c1cx350cy350.jpg"><div><span class="recipe-ingredient-qt" data-base-qt="4">4</span>
     
    						<p class="name_singular" data-name-singular=" oeuf" style="display: none;"></p>
    						<p class="name_plural" data-name-plural="  oeufs" style="display: none;"></p>
    						<p class="complement_singular" data-complement-singular="" style="display: none;"></p>
    						<p class="complement_plural" data-complement-plural="" style="display: none;"></p>
    					       <span class="ingredient">  oeufs </span><span class="recipe-ingredient__complement"></span></div>				</li>


    Si je fais ceci par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('.recipe-ingredients__list').children('.recipe-ingredients__list__item').text().toString().replace(/(\t\r\n|\n|\r|\t)/g, '');
    Cela me sort un string du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "6 cuillère à soupe d'huile d'olive vierge extra1 yaourt nature bien égoutté2 cuillère à soupe de jus de citron 1 gousse d'ail pilé1 cuillère à café de sucre 1 cuillère à café d'origan frais haché1 cuillère à café de sel 1/2 cuillère à café de poivre 4 pain pita ronds1/2 laitue 1 oignon 1/2 concombre 1 tomate pas trop mûre1/2 poivron vert 150 g de feta 12 olives dénoyautés"
    Pas très propre, les chiffres sont collés au texte. Je souhaiterai donc juste prendre : <span class="recipe-ingredient-qt"> concater avec <span class="ingredient"> avec un split pour séparer la liste. Le but est d'avoir ce genre de résultat :

    6 cuillère à soupe d'huile d'olive vierge extra
    1 yaourt nature bien égoutté
    etc...

    Des idées ?

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    C'est une question sur les expressions régulières du coup, pas du tout sur node.js.

    Je déplace en général.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    pourquoi tout jeter dans le même sac, alors qu'on peut trier avant ?
    Il suffit de cibler les bons éléments.

    une solution :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $(function() {
      let ingredient = []; // array
      let ii = 0;
      $(".recipe-ingredients__list .recipe-ingredients__list__item").each( // pour chaque item
        function() {
          ingredient[ii] = 
            ($(this).find('.recipe-ingredient-qt').text()
           + $(this).find('.ingredient').text()
            ).replace(/\s{2,}/g, ' '); // remplace les espaces multiples
          ii++;
        }
      );
     
      // affichage et mise en forme de la liste des ingrédients
    //  let recette_list = ingredient.join("<br />"); // liste simple
      let recette_list = "<ul><li>" + ingredient.join("</li><li>") + "</li></ul>"; // liste à puces
      $("#recette").html(recette_list);
    });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="recette"></div>


    @Marco46
    Rien à voir avec les regex, donc
    Dernière modification par Invité ; 09/07/2018 à 11h29.

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Oui je sais pas pourquoi j'ai parlé de regex, c'était trop tôt probablement
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Invité
    Invité(e)
    Par défaut
    Non... c'est c'était (avant modif.) dans le titre !

    Mais jQuery fait bien le job, sans regex, donc.
    Dernière modification par Invité ; 10/07/2018 à 14h16.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2003
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2003
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Merci @jreaux62

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

Discussions similaires

  1. Découpage de string
    Par makia42 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 21/04/2010, 11h28
  2. Découpage de string
    Par makia42 dans le forum Langage
    Réponses: 6
    Dernier message: 20/04/2010, 13h28
  3. [Découpage chaine String et decalages binaires]
    Par moulefrite dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2008, 15h27
  4. Découpage dun string dans l'espace
    Par Clad3 dans le forum OpenGL
    Réponses: 4
    Dernier message: 24/03/2005, 17h25

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