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 :

parser chaine guillemet


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut parser chaine guillemet
    Bonjour,

    J'essaie de parser une chaine qui peut contenir des guillemet (") pour l'insérer dans un fichier excel. La chaine doit contenir les caractères " en début et en fin.

    Pour l'instant la méthode que j'utilise est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    n = n.getString().replaceAll("\"","''");
    n = "\"" + n + "\"";
    Je remplace mes " par deux simple '. Ce qui résoud mon problème, mais je n'arrive pas à garder mes guillemet.

    Y a t'il une méthode sûr qui fonctionne pour faire cela?

    Merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Je ne comprends pas ; pourquoi remplaces-tu les " par des ' et ' si tu veux des " ?

    Donne un exemple, peut être ?

    Il n'existe à ma connaissance pas de subtilité concernant les guillemets dans les regexps, qui se désignent par ", donc \" en java, mais je me trompe peut etre.

  3. #3
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Je ne comprend pas vraiment ton problème.
    Tu as visiblement bien compris que les guillemets dans les chaine de caractères littérales doivent être échappés. Mais une vois qu'ils sont dans ta variable, il peuvent être manipulés comme n'importe quel caractère.

    Il faudrait que tu précise d'avantage, ou ce pose ton problème.

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    En fait j'avais auparavant fait cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    n = n.getString().replaceAll("\"","");
    et ça aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    n = n.getString().replaceAll("\"","\"\"");
    Cependant certains " était mal échappé et cela ne fonctionnait pas. Si il voit un guillement sans échappement, il croit que c'est la fin de la chaine et fait un retour à la ligne.

Discussions similaires

  1. Parser chaine de caractere
    Par bouliz dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 07/02/2008, 10h35
  2. Réponses: 13
    Dernier message: 03/10/2007, 11h25
  3. Parser une chaine
    Par TieumB dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/01/2005, 11h20
  4. Parser une chaine en shell script
    Par Gogoye dans le forum Linux
    Réponses: 10
    Dernier message: 19/07/2004, 17h49
  5. Réponses: 2
    Dernier message: 12/01/2004, 13h56

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