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 :

Couper un mot à partir d'un caractère


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut Couper un mot à partir d'un caractère
    Bonjour, j'ai un tableau de String contenant des noms de fichiers avec leurs extensions.

    Je souhaiterai couper chaque mot du tableau à partir du point (.) , pour n'avoir que le nom du fichier sans son extension.

    J'ai voulu utiliser la fonction split(), mais le résultat n'est pas concluant...

    Voici mon code :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String[] tab = {"fichier.cfg","toto.conf" };
    String tokens[];
    tokens = tab[0].split(".");
    System.out.println(tokens[0]);

    Comment obtenir ce que je veux?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    split prend en paramètre une expression régulière, dans les expression régulière, le point (.) signifie n'importe quel caractère. Pour représenter le caractère point il faut le protéger avec un backslash. Et un deuxième car on est dans une String java et qu'en String les backslash ont une signification particulière


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tokens = tab[0].split("\\.");

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Finalement, en relisant correctement le fonctionnement de la méthode split(), je me suis aperçu que le point était un caractère joker avec les expressions régulières. Il faut donc l'échapper avec \\ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String[] tab = {"fichier.cfg","toto.conf" };
    String tokens[];
    tokens = tab[0].split("\\.");
    System.out.println(tokens[0]);
    Pardon pour le post inutile

    Edit :
    Merci, tu as été + rapide

Discussions similaires

  1. Coupure après x caractères sans couper un mot
    Par ploufleouf74 dans le forum Langage
    Réponses: 7
    Dernier message: 15/09/2009, 19h14
  2. extraction des mots à partir dune chaine de caractères
    Par khaledklaud dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2008, 16h13
  3. extraire des mots à partir d'une chaine
    Par freestyler dans le forum Delphi
    Réponses: 5
    Dernier message: 28/09/2006, 15h04
  4. [RegEx] Couper un mot avec une expression réguliere ?
    Par mLk92 dans le forum Langage
    Réponses: 4
    Dernier message: 24/08/2006, 09h34
  5. Réponses: 13
    Dernier message: 24/05/2006, 13h53

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