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

Java Discussion :

[Char] Comment tester si un caracter fait partie de la ponctuation?


Sujet :

Java

  1. #1
    Membre régulier Avatar de 17mounir
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2005
    Messages : 101
    Points : 78
    Points
    78
    Par défaut [Char] Comment tester si un caracter fait partie de la ponctuation?
    Est ce que qlq1 connais par hasard, un moyen detester si un caractere fait partie de : ! " # $ % & ‘ ( ) * + , -. / : ; <=> ? @ [ \ ] _ { } ^.

    qlq chose comme isdigits()

    ça m'ebete de faire 14000 comparaison

    merki
    Mounir.B

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    si tu considère tous les carracteres ormis les lettres et les chiffres peut-etre que la methode isLetterOrDigit de la classe Character pourra d'aider.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 253
    Points
    1 253
    Par défaut
    Sans vouloir dire de bétise, je crois que ce n'est pas possible, à moins que tu crée toi même une méthode qui fait le travail en prenant 2 chaines de caractères en argument (ça te permettra plus tard de détecter si d'autres chaines ou caractères sont présent.... Ça te fait quand même 50 comparaisons à faire !
    Cherches sur le forum, je sais qu'il y a une réponse qui traite d'un sujet plus ou moins similaire qui permettait de trouver si une sous-chaine est présente dans une autre chaine.

    Bon courage.
    Si , et la ont échoué mais pas nous, pensez à dire et cliquez sur . Merci !

    Ici, c'est un forum, pas une foire. Il y a de respectables règles... à respecter !

  4. #4
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Ton besoin me semble un peu trop spécifique, à moins que l'ensemble que tu donnes est :
    { tous les caractères } - { les caractères de contrôle } - { les caractères alphanumérique }
    ?
    auquel cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public boolean isStrangeCharacter(char c) {
      return !Character.isISOControl(c) && !Character.isLetterOrDigit(c);
    }

  5. #5
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    A l'aide des expressions régulières, tu peux le faire facilement non ? Il y a des classes de caractères prédéfinies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \p{Punct}  	Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
    Donc tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (taString.matches("^\\p{Punct}$"))
        ....
    Non ?
    Wookai


  6. #6
    Membre régulier Avatar de 17mounir
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2005
    Messages : 101
    Points : 78
    Points
    78
    Par défaut
    bein en fait j'ai pas choisit cette liste de caracteres,
    mais je travail sur une migration de code "forté" uds vers java, et en uds y a une methode isPunct() qui detecte les caracteres cité en haut ...

    je crois que je vais considerer comme punct tout les caracteres qui ne sont ni lettre ni chiffre en esperant que ça fera l'affaire

    merci à vous tous
    Mounir.B

  7. #7
    Membre régulier Avatar de 17mounir
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2005
    Messages : 101
    Points : 78
    Points
    78
    Par défaut
    ah oui pas bete les expr regulieres
    Mounir.B

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Même sans expressions régulière ce n'est pas bien méchant comme méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        private static final char[] punctList = "#$%&‘()*+,-./:;<=>?@[\\]_{}^".toCharArray();
     
        public static boolean isPunct(char c) {
            for (int i=0; i<punctList.length; i++) {
                if ( c==punctList[i])
                    return true;
            }
            return false;
        }
    a++

  9. #9
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.indexOf(int ch);
    ?

  10. #10
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 153
    Points : 100
    Points
    100
    Par défaut
    tu peux utiliser le code ASCII, par exple tous ces caracteres ! " # $ % & ‘ ( ) * + , -. / sont entre 33 et 46, tu peux donc faire des comparaisons par intervalles, tu en auras pour 3 comparaisons et c'est bcp plus simple com ça, enfin c mon avis
    Rien ne sert de courir, il faut partir à point.

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

Discussions similaires

  1. [XL-2003] Tester si une cellule fait partie d'un Range
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/09/2009, 14h43
  2. Réponses: 0
    Dernier message: 06/02/2009, 22h49
  3. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  4. comment tester si une fonction fait bien son travail
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/11/2003, 15h46
  5. comment tester si une fonction fait bien son travail
    Par access dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/11/2003, 15h46

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