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

avec Java Discussion :

Test String ne contenant pas une autre


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut Test String ne contenant pas une autre
    Bonjour,

    comment faire pour vérifier qu'une string ne contient pas une autre?

    Je sais que pour vérifier qu'elle une autre contient c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (string.indexOf("string_recherchée") == -1)
    mais pour faire l'inverse...

    Merci

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par Yannick1988 Voir le message
    comment faire pour vérifier qu'une string ne contient pas une autre?

    Je sais que pour vérifier qu'elle une autre contient c'est [...]
    J'ai pas tout compris à ton discours là. Ce que je peux te dire c'est que indexOf marche comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String valeur1 = "toto";
    String valeur2 = "to";
    int resultat = valeur1 .indexOf(valeur2);
     
    if (resultat == -1) {
        System.out.println("valeur2 n'est pas contenu dans valeur1");
    else {
        System.out.println("valeur2 est contenu dans valeur1 à l'indice " + resultat);
    }
    Et dans mon exemple, on passe donc dans le else avec l'indice à la valeur 0.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre régulier
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut
    ha oui ok merci ça va j'ai capté

    Par contre j'ai un peu de mal avec les expressions régulière.
    Je voudrais tester que ma string contient uniquement chiffres (\d), points (\.), ou les caractères correspondant aux caractères vides (\s)

    ça se passe comment?

    j'ai tenté ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maString.indexOf("\\d+\\s+\\.+")
    mais sans résultat

  4. #4
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par Yannick1988 Voir le message
    Par contre j'ai un peu de mal avec les expressions régulière.
    Je voudrais tester que ma string contient uniquement chiffres (\d), points (\.), ou les caractères correspondant aux caractères vides (\s)
    Donc ce n'est pas indexOf() qui t'intéresse au final mais plutôt les fonctions liées aux expressions régulières : matches(). La fonction indexOf n'est réservée qu'à l'utilisation d'un véritable mot et non une expression régulière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taString.matches("\d+"); // te renverra true si ta String ne contient qu'un ou plusieurs chiffres
    Inspire toi de ça pour faire ton test.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  5. #5
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 688
    Par défaut
    En effet matches(), replaceAll() et split() sont les seules méthodes de la classe String qui utilisent les expression régulière.

  6. #6
    Membre régulier
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut
    Je me suis mal exprimé. Pour ma première question c'était bien indexof qui intéressait.

    Mais là l'histoire des chiffres c'est un autre problème, mon problème c'est plus pour combiner plusieurs caractères spéciaux dans la vérification

    donc je cherche ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    taString.matches("\d+");
    mais pour vérifier que c'est des chiffres, des points ou des caractères vides.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 4
    Par défaut
    Bonjour,

    Pour des chaînes de caractères pouvant contenir des chiffres, des points ou des caractères "espace" (tabulation, espace, retour à la ligne...) dans n'importe quel ordre, l'expression régulière suivante devrait convenir :"[\\d\\s\\.]+"

  8. #8
    Membre régulier
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut
    oui ça marche :d

    merci beaucoup

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

Discussions similaires

  1. [RegEx] <img ne contenant pas une autre chaine
    Par qdaemon_fr dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2010, 10h15
  2. [9i] Test d'un lien vers une autre BD
    Par dheud dans le forum SQL
    Réponses: 3
    Dernier message: 08/10/2007, 10h50
  3. Réponses: 3
    Dernier message: 20/02/2007, 15h48
  4. Trouver fichier ne contenant pas une chaine
    Par guitalca dans le forum Linux
    Réponses: 6
    Dernier message: 24/01/2006, 10h24
  5. UPDATE d'une table avec test d'un champ d'une autre table
    Par delphim dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/05/2004, 12h30

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