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

API standards et tierces Java Discussion :

[String] supprimer caractere genant


Sujet :

API standards et tierces Java

  1. #1
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut [String] supprimer caractere genant
    Bonjour je cherche a savoir s il existe pas un moyen simple de supprimer tous les caracteres autres que alpha / numérique du String. Je pense au caractères du type :"&(-_)=+][{@^\`!§$¤£*µ,;.¨^~
    je pensai appeler la methode remplaceAll sur tous ces elements mais je me demande si on peu pas le faire de façon plus rapide avec un Pattern.matches

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    avec du pattern matching :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String t;
    t = t.replaceAll("[^\\w]","")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    t = t.replaceAll("[\\W]","")
    le code \w représente tous les caracteres de type "mot" : a à Z, A à Z, 0 à 9

    le code \W ou ^\w est la négation de \w.

  3. #3
    FFF
    FFF est déconnecté
    Membre éclairé Avatar de FFF
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 342
    Par défaut
    Une idée, peut-être pas des plus efficaces mais ça doit marcher.
    Les caractères de l'alphabet peuvent être convertis en entier et sont compris entre 60 et qq et 110 et qq (à vérifier), il suffirait donc de créer une boucle convertissant chacun des caractères en int et de vérifier que l'entier est compris entre tant et tant (lettres) ou en tant et tant (chiffre).
    Sinon tu le supprimes.

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Citation Envoyé par blech ducou
    avec du pattern matching :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String t;
    t = t.replaceAll("[^\\w]","")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    t = t.replaceAll("[\\W]","")
    le code \w représente tous les caracteres de type "mot" : a à Z, A à Z, 0 à 9

    le code \W ou ^\w est la négation de \w.

    Alors là moi je dis chapeau bas...

  5. #5
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    oui merci c'est beau, il me garde cependant les "_".

  6. #6
    Membre confirmé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    exact j'avais oublié le "_"
    tu peux rajouter dans l'expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t.replaceAll("[\\W]|_","")
    soit un caratere non mot, soit _. (| = ou)

  7. #7
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    merci ça marche du tonnerre...
    mais j'ai remplacer plutot par " " plutot que "" apres je split et je recupere la phrase initiale...

    ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    t = chaine.replaceAll("[^\\w]|_|[0-9]"," ");
    Merci

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

Discussions similaires

  1. Code pour supprimer caractere dans formulaire
    Par WITER dans le forum IHM
    Réponses: 17
    Dernier message: 26/01/2007, 16h25
  2. [String] supprimer un espace dans un String
    Par Zanton dans le forum Langage
    Réponses: 5
    Dernier message: 13/07/2006, 15h33
  3. [VBA-E]Supprimer caractere invisible
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/05/2006, 15h27
  4. [Debutant][String]Supprimer accents
    Par TylerKnoxx dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 06/09/2005, 14h48
  5. [String] Renvoyer caractères entre 2 espaces
    Par babylone7 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 08/07/2005, 14h03

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