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 :

Compter le nombre de caractères identiques dans une chaine


Sujet :

JavaScript

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 15 379
    Points : 12 511
    Points
    12 511
    Billets dans le blog
    8
    Par défaut Compter le nombre de caractères identiques dans une chaine
    Bonsoir a tous
    je travaille sur les espace et   et javascript me sort un résultat surprenant , je me dit bon peut etre que comme c'est un caracteres special c'est comme ca
    j'essaie en suite avec des lettres normal et bonet blanc blanc bonnet

    quand je liste et met de coté les caractères voulue identique il me tronque le resultat en 2
    c'est quoi ce truc encore
    exemple ici en occurrence la lettre "y" il m'en sort 2 alors qu'il y en a 4 je parle meme pas quand on tombe sur un nombre impair selon la quantité le prorata n'est pas le même
    quelqu'un veut bien me donner le remede pour soigner mon javascript qui sait plus compter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var tx="yyyyhztrfgdutjalsoyyyylqgbdfertaqjyyyyy"
     
    alert(tx);
    var es="";
    var D="";
    var i=0;
    var st =false; 
    for(var i=0;i<tx.length-1;i++){
    alert(tx.substring(i,1));
    if(tx.substring(i,1)=="y" ||tx.substring(i,1)==" "){
      es=es+ tx.substring(i,1);
    }
    }
    alert(":"+es+":");
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre expert
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 2 614
    Points : 3 433
    Points
    3 433
    Par défaut
    Salut,

    Tu as lu ça : #192 ? (la fonction substring() ne fonctionne pas comme tu crois ...)

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2009
    Messages : 6 389
    Points : 23 537
    Points
    23 537
    Billets dans le blog
    124
    Par défaut


    Je suppose qu'il s'agit de compter le nombre d'occurrences d'un caractère ?

    Comme d'habitude, votre code est difficile à comprendre. En fait, j'ai renoncé depuis longtemps à comprendre, surtout que vous programmez souvent dans un environnement totalement obsolète.

    Voici une solution utilisant le JS d'aujourd'hui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const tx="yyyyhztrfgdutjalsoyyyylqgbdfertaqjyyyyy";
     
    let
      arr = [],
      chr = "y";
     
    for( let item of tx ){
      if ( item === chr ) arr.push( item );
    }
     
    console.log( "nb de", chr, "=", arr.length );

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 2 614
    Points : 3 433
    Points
    3 433
    Par défaut
    Je crois qu'il essaye de repérer les séquences : "&nbsp; " c'est-à dire le caractère "&nbsp;" suivi d'un espace...

    C'est le genre de chose qu'on a dans une div éditable par exemple...

    Oui car lorsqu'on met des espaces dans la div éditable le navigateur utilise le caractère &nbsp; pour qu'on puisse voir tous les espaces oui car sans ce caractère on ne verrait qu'un seul espace car le navigateur fusionne les espaces, il les ramene à un...

    Sauf, encore une fois, si on utilise le css que j'ai indiqué... Et il vaut mieux le faire car tous les navigateurs n'utilisent pas le le caractère "&nbsp;" de la même manière...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    39 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : mars 2002
    Messages : 39 028
    Points : 65 474
    Points
    65 474
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tx="yyyyhztrfgdutjalsoyyyylqgbdferta$nbsp;qjyyyyy"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var tx="yyyyhztrfgdutjalsoyyyylqgbdfer&nbsp;taqjyyyyy";
    char="&nbsp;";
    reg= new RegExp(char,"g");
    nb=tx.match(reg)
    alert( nb.length)
    compte parfaitement les &nbsp;
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  6. #6
    Membre expérimenté
    Homme Profil pro
    chomeur
    Inscrit en
    avril 2015
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : chomeur
    Secteur : Distribution

    Informations forums :
    Inscription : avril 2015
    Messages : 624
    Points : 1 325
    Points
    1 325
    Par défaut
    jour

    c'est substr qu'il faut utilisé et pas substring

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	var tx="yyyyhztrfgdutjalsoyyyylqgbdfertaqjyyyyy"
     
    alert(tx);
    var es="";
    var D="";
    var i=0;
    var st =false; 
    for(var i=0;i<tx.length-1;i++){
    alert(tx.substr(i,1));
    if(tx.substr(i,1)=="y" ||tx.substring(i,1)==" "){
      es=es+ tx.substr(i,1);
    }
    }
    alert(":"+es+":");
    ou alors faire i+1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var tx="yyyyhztrfgdutjalsoyyyylqgbdfertaqjyyyyy"
     
    alert(tx);
    var es="";
    var D="";
    var i=0;
    var st =false; 
    for(var i=0;i<tx.length;i++){
    alert(tx.substring(i,i+1));
    if(tx.substring(i,i+1)=="y" ||tx.substring(i,i+1)==" "){
      es=es+ tx.substring(i,i+1);
    }
    }
    alert(":"+es+":");
    et c'est tx.length sans ajouter 1
    Plus vite encore plus vite toujours plus vite.

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 15 379
    Points : 12 511
    Points
    12 511
    Billets dans le blog
    8
    Par défaut RE
    MERCI a tous
    melka one bien vu
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    mars 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : mars 2017
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message


    Je suppose qu'il s'agit de compter le nombre d'occurrences d'un caractère ?

    Comme d'habitude, votre code est difficile à comprendre. En fait, j'ai renoncé depuis longtemps à comprendre, surtout que vous programmez souvent dans un environnement totalement obsolète.

    Voici une solution utilisant le JS d'aujourd'hui :
    Qu'est-ce qui est si compliqué à comprendre?
    Totalement obsolète ... ouhlala ... je dirais pas ça mais plutôt qu'il y a des surcouches qui simplifient l'écriture ...
    (si c'était obsolète, on verrait des warnings dans la console ... il me semble ... moi je suis expert C++ à la base...)
    C'est un problème si un développeur expérimenté a des difficultés à comprendre son javascript plutôt basique ...

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

Discussions similaires

  1. IE n'aime pas les titles de la liste déroulante
    Par ozzmax dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/04/2007, 16h17
  2. Telnet n'aime pas les String ?
    Par Nasky dans le forum Développement
    Réponses: 4
    Dernier message: 02/03/2007, 14h57
  3. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 15h45

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