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

Langage Java Discussion :

replaceAll html point


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut replaceAll html point
    Bonsoir tout le monde.

    Alors, en esperant poster au bon endroit:

    J'ai un probleme avec la fonction replaceAll de java.
    En fait, je cherche a remplacer les liens relatifs d'une page web (je modifie le code HTML)... et ce que je voudrais faire c'est remplacer par exemple tout les "../" par "http://monadresse.com/".

    MonString.replaceAll("../img","http://monadresse.com/img");

    Ca marche mais ca remplace plus qu'il ne faut. En fait il me fait plus quelques chose comme remplacer tout les "??/img" c'est a dire qu'il remplace mon expression quelque soit les deux caracteres a la place des points

    Ca m'arrange pas du tout, j'ai essayer pas mal de trucs mais sans resultat.
    Alors si quelqu'un aurais une idée, je sui preneur car un peu desesperé.


  2. #2
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Si tu es sure ke tes 3 premiers caracteres sont "../" tu n'as qu'a les supprimer de ta chaine et ensuite la concaterner avec ton autre chaine.
    Parce que le replace all marche avec les expressions regulieres et vu que le '.' signifie n'importe quel caractere il va automatiquement faire un replacement.
    As tu essaye de faire replaAll("\.\./img","http://monadresse.com/img");

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Voui, j'ai essayer:

    replaAll("../img","http://monadresse.com/img");
    replaAll("\.\./img","http://monadresse.com/img");
    replaAll(" '.' '.'/img","http://monadresse.com/img");
    replaAll("."+"."+"/img","http://monadresse.com/img");
    replaAll("⋅"+"⋅"+"/img","http://monadresse.com/img");

    Et surement encore quelques petites variante mais rien.

  4. #4
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Bon ben comme je t'ai dis avant tu fais un substring(0,2) et ensuite un concat. C'est pas bo mais au moins ca va te debloquer en attendant de trouver mieux.

  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
    Salut,


    Ce comportement est normal puisque dans les regexp le caractère '.' représente "n'importe quel caractère". Plus de détail : http://javasearch.developpez.com/j2s...x/Pattern.html

    Pour éviter cela il faut le protéger par un \ (qui se double : FAQ : Pourquoi dois-je doubler/quadrupler le caractère anti-slash ('\') ?signal_si_nouveau(conv_date("22/08/2005"));signal_si_mise_a_jour(conv_date("")) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     monString.replaceAll("\\.\\./img","http://monadresse.com/img");
    Mais la meilleure solution serait d protéger toute la chaine :
    FAQ : Comment empêcher les expressions régulières d'interpréter une sous-chaînes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     monString.replaceAll("\\Q../img\\E","http://monadresse.com/img");
    a++

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Nan, ca ca me va pas, les trois caracteres sont pas forcement au debut de chaine.
    C'est pas la fin du monde, je vais le coder moi meme mais il y a evidement une facon de faire pour remplacer les points avec "le replaceAll".

    Si quelqu'un sait, ou si je trouve, je posterais des nouvelles.

    Have fun ;-)

  7. #7
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Eh bien adiGuba viens de te donner une solution je crois...reste plus qu'a essayer.

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

Discussions similaires

  1. [WD15] inscrire point et trait sur carte google (champ html)
    Par hehehe dans le forum WinDev
    Réponses: 4
    Dernier message: 26/10/2010, 16h57
  2. Le point sur l'encodage UTF-8 / HTML
    Par boubil dans le forum Zend_Db
    Réponses: 2
    Dernier message: 19/03/2009, 17h23
  3. Extension point HTML ou PHP
    Par neuneu1 dans le forum Langage
    Réponses: 2
    Dernier message: 05/12/2008, 22h41
  4. [HTML] formulaire qui pointe sur un autre serveur
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/08/2006, 12h54

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