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

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    juin 2013
    Messages
    1 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

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

    Informations forums :
    Inscription : février 2009
    Messages : 6 078
    Points : 22 105
    Points
    22 105
    Billets dans le blog
    62

    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



    Nota bene : si vous devez être compatible avec les navigateurs obsolètes (IE8 et plus), vous devez convertir les codes ES2015 en ES5 avec Babel.

    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 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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 chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 697
    Points : 2 073
    Points
    2 073

    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 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    Par défaut

    Je veut savoir si ma chaîne contient des caractères isolés comme "é"

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    1 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 1 697
    Points : 2 073
    Points
    2 073

    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 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    Par défaut

    Oui c'est çà je veux savoir si ma chaîne contient plusieurs caractère isolés

  8. #8
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 798
    Points : 10 776
    Points
    10 776

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

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    juin 2013
    Messages
    1 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 798
    Points : 10 776
    Points
    10 776

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

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    juin 2013
    Messages
    1 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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
    38 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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 : 38 206
    Points : 65 453
    Points
    65 453
    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


    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

  13. #13
    Débutant  
    Profil pro
    Inscrit en
    juin 2013
    Messages
    1 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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 194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2013
    Messages : 1 194
    Points : 129
    Points
    129

    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
    38 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    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 : 38 206
    Points : 65 453
    Points
    65 453
    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


    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

+ 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, 18h09
  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, 10h19
  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, 22h56
  4. recherche caractères dans un buffer
    Par mmarcoboss dans le forum C
    Réponses: 7
    Dernier message: 23/01/2007, 12h53
  5. Réponses: 3
    Dernier message: 09/05/2002, 02h39

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