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 :

Rechercher caractère dans chaîne


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut Rechercher caractère dans chaîne
    Bonjour,

    J'ai une chaîne de caractère et je souhaite rechercher si celle-ci contient certains caractères
    Comment faire ?

  2. #2
    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 : 74
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Les méthodes de String disponibles pour la recherche de caractères ou de texte sont nombreuses.

    Par exemple :

    String.prototype.includes()
    https://developer.mozilla.org/fr/doc...tring/includes

    String.prototype.search()
    https://developer.mozilla.org/fr/doc.../String/search

    String.prototype.indexOf()
    https://developer.mozilla.org/fr/doc...String/indexOf

    String.prototype.charCodeAt()
    https://developer.mozilla.org/en-US/...ing/charCodeAt

    String.prototype.substring()
    https://developer.mozilla.org/en-US/...ring/substring

    String.prototype.match()
    https://developer.mozilla.org/fr/doc...x/String/match

    String.prototype.substr()
    https://developer.mozilla.org/en-US/.../String/substr

    String.fromCharCode()
    https://developer.mozilla.org/en-US/...g/fromCharCode

    Lorsque vous cherchez une information, n'oubliez pas et MDN, voir mon blog : https://www.developpez.net/forums/bl...formation-mdn/

    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.)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Avec la méthode substr, je peux chercher si ma chaîne contient certain caractères ? Et si c'est le cas, cela me retournera true ?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Quand tu dis "certains caractères" que veux-tu dire exactement ?

    Est-ce des caractères isolés genre chercher si la chaine contient l'un des caractères suivants : "a","v" ou "p" ?

    Ou bien tu veux dire chercher une sous-chaine genre chercher si la chaine contient la sous-chaine "avp" ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Je veut savoir si ma chaîne contient des caractères isolés comme "é"

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Ta réponse n'est pas assez précise...

    Bon si c'est juste pour tester la présence d'un caractère à la fois alors tu as le choix, exemple avec includes() :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var chaine0 = 'Une phrase pour tester...';
    var chaine1 = 'Une autre phrase avec un é pour tester...';
    var char = 'é';
     
    console.log(chaine0.includes(char)); // affiche "false"
    console.log(chaine1.includes(char)); // affiche "true"


    Mais pour tester la présence de plusieurs caractères à la fois, je pense que j'utiliserais plutôt une regex...

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Oui c'est çà je veux savoir si ma chaîne contient plusieurs caractère isolés

  8. #8
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut
    Citation Envoyé par totot Voir le message
    Oui c'est çà je veux savoir si ma chaîne contient plusieurs caractère isolés
    Ha la précision, on a chacun une compréhension différente, pour moi isolés serait un/des caractères "entourées" de caractères espace.
    Donc var char = ' é '; renvoie false pour la phrase Une autre phrase avec un vélo pour tester...
    sinon var char = 'é'; renvoie true pour la phrase Une autre phrase avec un vélo pour tester...
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    J'ai fait comme ceci mais cela ne marche pas. Il me détecte pas que ma chaîne contient des caractères "_", "!" ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var reg=/^[a-z\s]*$/i;
     
    (reg.test(value))

  10. #10
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var reg=/!|_/g;
     var value="Je suis !toujours dans les _Essais _";
    (reg.test(value))
    Citation Envoyé par resultat
    Méthode test:
    au moins une correspondance trouvée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var reg=/!|_/g;
     var value="Je suis !toujours dans les _Essais _";
    (reg.exec(value))
    Citation Envoyé par resultat
    Méthode Execute:
    nombre d'occurrence: 3
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Y-a-t-il un moyen plus de simple si ma chaine contient juste les lettre a à z en majuscule et en minuscule ?

  12. #12
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    en reg * = 0 ou plus donc facultatif ...

    si tu matches sur
    ta chaine ne contiendra que des lettre de a à z min ou maj et des espaces ...
    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 !

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Oui ma chaîne ne contiendra que des minuscule et majsucule et espace

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    Merci cela fonctionne.
    Maintenant je cherche comment dans une chaine je peux récupérer la partie de la chaîne avant le dernier caractère définis
    Exemple : monFichier.doc
    Je veut récupérer la chaîne monFichier

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    J'ai trouvé en utilisant la méthode indexOf

  16. #16
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Plus directement toujours avec une regex en match

    matchera tout ce qui se trouve avant le premier point de ta chaine .
    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épondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Tableur] Recherche mot dans chaîne de caractères
    Par ludovik49 dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 04/10/2014, 17h09
  2. Isoler caractères dans chaîne de caractères
    Par neige2027 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/08/2009, 09h19
  3. Extraire chaine de caractère dans chaîne de caratère
    Par kornichon dans le forum Langage
    Réponses: 9
    Dernier message: 11/07/2007, 21h56
  4. recherche caractères dans un buffer
    Par mmarcoboss dans le forum C
    Réponses: 7
    Dernier message: 23/01/2007, 11h53
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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