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

Entrée/Sortie Java Discussion :

Lecture et parsing chaine de caractère


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut Lecture et parsing chaine de caractère
    Bonjour à tous,

    j'ai des problèmes de reconnaissance de caractère dans des Strings.
    Je m'explique :

    Je récupère un flux sur internet et je le parse avec un paser HTML pour obtenir un DOM (j'utilise kekoHtml)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		    URL url = new URL(chemin);
    		    URLConnection urlConnection = url.openConnection();
     
    	        parser.parse(new InputSource(urlConnection.getInputStream()));
    Le pblm viens du fait que lorsque que je parcours mon DOM, les   ont été traduis en espace dans les chaînes de caratères, or lorsque que je fais une recherche sur le dit espace, je ne le trouve pas !!

    Voici un exemple :

    code source de la page internet : samedi 11 mars
    String résultat dans le code java : samedi 11 mars
    string.indexOf(" ") donne l'espace entre 11 et mars et non pas l'espace entre samedi et 11 .....

    Quelqu'un peut il m'aider ?
    Ce ne serait pas un pblm d'encodage par hasard ?
    En tout cas je sèche là !!!

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    L'entité nbsp (  NoBreakingSPace ou en français espace insécable) ne correspond pas à au caractère espace. Voir Espace insécable
    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    ok

    par contre je pige pas tout encore la

    tu ferais comment pour le détecter dans une chaine de caractere en java ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    NBSP est un caractère comme les autre (valeur 160).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       final String NBSP = Character.toString((char)160);
       final String pattern = "[\\s"+NBSP+"]"; // Les espaces + NBSP
     
       String[] result = <Ton String>.split(pattern);
       for (String r: result) {
          System.out.println("Split avec '\\s NBSP':" + r);
       }
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Points : 84
    Points
    84
    Par défaut
    En farfouillant sur le net j'avais trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    contenu.indexOf((char)(Integer.parseInt("00A0", 16)))
    Mais ta solution est plus intéressante car elle permet de virer les espaces "classiques" qui sont collés avec.
    Et puis les patterns c bien ca fera plus propre et efficace.

    Merci bcp pour ton aide rapide et efficace jowo !!

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/01/2014, 14h53
  2. lecture d'une chaine de caractére
    Par oliv27400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 01/06/2010, 09h29
  3. lecture d'une chaine de caractères
    Par freestyler dans le forum C#
    Réponses: 2
    Dernier message: 01/03/2007, 17h20
  4. Réponses: 3
    Dernier message: 26/12/2006, 09h13
  5. Lecture d'une chaine de caractère avec fgets
    Par mayoouketchup dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 16h17

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