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 :

probleme avec replaceAll


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut probleme avec replaceAll
    bonjour

    j'essai de remplacer tout les caracteres "<>" rencontrer dans un fichier xml par des "!="
    pour faire ca, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recup = recup.replaceAll("<>", "!=");
    maintenant mon gros probleme est que bizarrement certains seulement sont remplacees et pas tous, j'ai beau verifier le fichier et il n'y pas de raison particuliere pour que cela ne marche pas, mais lorsque je relance le code ce sont toujours les memes "<>" au meme endroit qui ne sont pas remplacees.
    j'ai essaye de faire comme ceci mais idem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    recup = recup.replaceAll("\\<>", "!=");
    Avez vous une solution pour que cela prenne tous les "<>" sans conditions svp?

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Salut,

    J'ai éssayé avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String recup = "abcd Abcd <> tuvw toto titi < > aaaaa <>. if (a <> b)";
    et c'est ok!

    Peux-tu nous montrer le contenu de recup dans le cas où ce n'est pas bon?

    Dan

  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
    Bien que je ne voie pas vraiment pourquoi tous les <> ne sont pas remplacés, tu ferais mieux d'utiliser replace() plutot que replaceAll(), étant donné que tu n'utilises pas d'expression régulière.
    Ce sera plus rapide.

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    Citation Envoyé par Uther Voir le message
    Bien que je ne voie pas vraiment pourquoi tous les <> ne sont pas remplacés, tu ferais mieux d'utiliser replace() plutot que replaceAll(), étant donné que tu n'utilises pas d'expression régulière.
    Ce sera plus rapide.
    j'ai fais comme vous m'avez dit, mais il n'y a pas d'amelioration

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Uther Voir le message
    Bien que je ne voie pas vraiment pourquoi tous les <> ne sont pas remplacés, tu ferais mieux d'utiliser replace() plutot que replaceAll(), étant donné que tu n'utilises pas d'expression régulière.
    Ce sera plus rapide.
    replace() est bien un meilleur choix, car il permet de ne pas s'embêter avec les caractères spéciaux des regexp si l'on n'en a pas besoin.

    Par contre ce n'est pas plus rapide (cela utilise également les regexp en interne).

    Citation Envoyé par kayenne77 Voir le message
    j'ai fais comme vous m'avez dit, mais il n'y a pas d'amelioration
    Tu pourrais fournir un code minimum qui reproduise le problème ?

    a++

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    je pourrais vous envoyer mon code, mais le fichier sur lequel je travaille avec mon code est confidentiel

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Par défaut
    Citation Envoyé par danimo Voir le message
    Salut,

    J'ai éssayé avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String recup = "abcd Abcd <> tuvw toto titi < > aaaaa <>. if (a <> b)";
    et c'est ok!

    Peux-tu nous montrer le contenu de recup dans le cas où ce n'est pas bon?

    Dan
    voila une partie du fichier original :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <expression field="TermsAndConditions.StrLeg.InvFloatRate.FloatRate" ruleType="computed" type="double">
        <parameter name="TermsAndConditions.StrLeg.InvFloatRate.Float" type="boolean"/>
        <content>@![CDATA[IF ( TermsAndConditions.StrLeg.InvFloatRate.Float.Value <> TRUE ) THEN 0 ENDIF]]@</content>
      </expression>
    et voila ce que j'obtiens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    expression field="TermsAndConditions.StrLeg.InvFloatRate.FloatRate" ruleType="computed" type="double">
        <parameter name="TermsAndConditions.StrLeg.InvFloatRate.Float" type="boolean"/>
        <content>IF ( TermsAndConditions.StrLeg.InvFloatRate.Float.Value <> TRUE ) THEN 0 ENDIF</content>
      </expression>
    j'ai supprimer aussi comme vous pouvez remarquer @![CDATA[ et ]]@

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

Discussions similaires

  1. probleme avec string.replaceall(" ", "/")
    Par danou07200 dans le forum Débuter
    Réponses: 3
    Dernier message: 21/11/2008, 23h31
  2. [Debutant(e)]probleme avec un replaceAll
    Par Jovial dans le forum Langage
    Réponses: 11
    Dernier message: 14/06/2004, 16h02
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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