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 Perl Discussion :

[langage] cherche script pour formater une chaine


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut [langage] cherche script pour formater une chaine
    Quand je passe à ma reqêue une chaine qui contient des simples cote ' en paramètre ..j'ai une erreur

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select  titre from matable  where  adresse like ' rue d'hubert cadran ';
    j'essai de créer un scripit (en python ) pour formater cette chaine et remplacer le(s) simple cote ' qui pose problème par une(des) double coté '' .. de sorte à avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select  titre from matable  where  adresse like ' rue d''hubert cadran ';


    Merci pour vos aides

  2. #2
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    dans ta requête ,je suppose que ce n'est pas une adresse en dur, mais provenant d'un formulaire ou autre ?
    Verre vide je te plains, verre plein, je te vide.

  3. #3
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    dans ce cas (désolé pour la coupure), si c'est une variable, bah c simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $adresse =~s/'/''/g;
    Verre vide je te plains, verre plein, je te vide.

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Merci
    Mais comment je vais faire alors ??

    dans ma requete

    select nom from matable where $adresse= ~s/'//''/g

    ?

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Tout à fait, je passe à ma requete un parametre qui recupere la valeur de adresse:

    dison comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select nom from matable where adresse like '${adr}%';
    et donc je cherche à remplacer dans adr les simples cotes par des doubles cotes (par exemple ; ${adr} = rue d'hubert cadrin)

    Merci

  6. #6
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    avant ta requête tu fais la substitution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ${adr}=~s/'/''/g;  #g est une option pour remplacer toutes les occurences dans ta chaine
    select nom from matable where adresse like '${adr}%';
    Verre vide je te plains, verre plein, je te vide.

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Points : 85
    Points
    85
    Par défaut
    Merci
    J'ai trouvé une fonction qui fait l'affaire.

    syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    adr =  adresse.replace('\'','\'\'')
    ...

  8. #8
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    ce qui revient exactement au même....tu fais du perl ?
    Verre vide je te plains, verre plein, je te vide.

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

Discussions similaires

  1. [11gR1] Une regex pour formater une chaine de caractères
    Par akkyshan dans le forum PL/SQL
    Réponses: 6
    Dernier message: 11/02/2014, 17h27
  2. Script pour manipuler une chaine d'un nom de fichier
    Par mond14 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 23/05/2013, 20h37
  3. Script pour remplacer une chaine de caractères par une autre
    Par babiêtiguiya dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 28/02/2012, 14h57
  4. Pb pour formater une chaine
    Par OpenMac dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2008, 09h51
  5. Recherche méthode pour formater une chaine pour JS
    Par mittim dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2006, 10h04

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