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
    Débutant  
    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
    Points : 132
    Points
    132
    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 : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    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
    Débutant  
    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
    Points : 132
    Points
    132
    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 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    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
    Débutant  
    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
    Points : 132
    Points
    132
    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 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    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
    Débutant  
    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
    Points : 132
    Points
    132
    Par défaut
    Oui c'est çà je veux savoir si ma chaîne contient plusieurs caractère isolés

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 177
    Points
    17 177
    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...
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Débutant  
    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
    Points : 132
    Points
    132
    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
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 177
    Points
    17 177
    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
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Débutant  
    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
    Points : 132
    Points
    132
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 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
    Débutant  
    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
    Points : 132
    Points
    132
    Par défaut
    Oui ma chaîne ne contiendra que des minuscule et majsucule et espace

  14. #14
    Débutant  
    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
    Points : 132
    Points
    132
    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
    Débutant  
    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
    Points : 132
    Points
    132
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 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