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 :

Comparer 2 noms de fichier


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2022
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Juin 2022
    Messages : 43
    Par défaut Comparer 2 noms de fichier
    Bonjour les experts Java,

    Je me remet progressivement au Java et je ne sais pas comment comparer 2 noms de fichiers comme cela :

    String file1 = "11299.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String file2 = "3260.FR.ISIE.AUTRES.ZXIH.SALES.csv";

    syso devra être comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Différence dans le nom de fichier = 3260
    Quelqu'un aurait-il une solution simple svp ?

    NB :
    11299 = numclient, peut-être sur 5 chiffres comme 9 chiffres
    .FR = pays, sur 2 chiffres
    .ISIE = source
    .AUTRES = flux
    .ZXIH = system
    .SALES = domaine
    .csv = extension de fichier (sera toujours du .csv, pas la peine de tester)

    J'ai essayé cela pour le moment mais il n'ya rien qui s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    println("Découpage String")
    String data = "11299.FR.ISIE.AUTRES.ZXIH.SALES.csv";
    String[] split = data.split(".");
    for (int i=0; i<split.length; i++)
      System.out.println(split[i]);     
      System.out.println("Done");

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par JavaGuava Voir le message
    J'ai essayé cela pour le moment mais il n'ya rien qui s'affiche :
    Hello,

    c'est parce que split() découpe les chaînes en fonction d'une regex, or en regex, le point . a un sens particulier. Cela empêche split() de faire quelque chose d'utile en l'utilisant comme ça.

    La solution est d'échapper le . pour qu'il soit considéré littéralement comme un point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] split = data.split("\\.");
    (Oui il faut un double échappement. Les regex sont gérées par Java, mais elles n'ont pas de syntaxe dédiée, on met une regex dans une String. Or dans les Strings, \ est déjà un caractère d'échappement. Ce qui fait que pour exprimer la regex \. sous forme de String, il faut échapper le \ et faire "\\." )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [XL-2010] Comparer les noms de fichiers dans un dossier avec ceux dans une feuille excel
    Par Offoloren dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/06/2018, 13h25
  2. Comparer une chaine de caracteres entrée à un nom de fichier
    Par laura_duj dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/12/2015, 15h24
  3. Comparer noms de fichier et copier contenu dans MySQL
    Par cobra85 dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 07/10/2014, 14h20
  4. comparer deux dossier par le nom des fichiers
    Par nclsbiz dans le forum Windows 7
    Réponses: 3
    Dernier message: 25/11/2011, 11h09
  5. Comparer des noms de fichiers équivalents en C
    Par yolenoyer dans le forum Linux
    Réponses: 3
    Dernier message: 31/10/2010, 21h13

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