[WD10] extrait chaine : "

Le
Vincent
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un séparateur
" """ ca marche pas,

en regle generale : comment indiquer que l'on recherche double guillemet ?
merci
Vincent
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent
Le #14650051
Merci pour ta réponse rapide,

y avait pas un truc du genre ' " ' ? ou " "" " ( tout ca ca marche pas
mais c'est un exemple)

par exemple dans une requette remplacer les " par des ""

Merci
Vincent

"Gilles"
Vincent a utilisé son clavier pour écrire :
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un
séparateur " """ ca marche pas,

en regle generale : comment indiquer que l'on recherche double guillemet
?
merci
Vincent



caract(34) ca devrait le faire ;)




Roumegou Eric
Le #14650031
Il se trouve que Vincent a formulé :
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un séparateur "
""" ca marche pas,

en regle generale : comment indiquer que l'on recherche double guillemet ?
merci
Vincent



il faut doubler, c'est à dire qu'il y en a 4 """"
Mais quand tu dois jouer avec des guillemets cela devient vite
impossible à relire.

Donc j'ai systématiquement une constante projet cGuillemet
initilialisée par """" ou par caract(34).
Et j'ai une fonction EntreGuillemet (c + simple)

FONCTION Entre_Guillemet(pCh,suprespace=Vrai)
// 1. Double les Guillemet dans la chaine
// 2. Entoure avec des Guillemet

Pos est un entier
Ch est une chaîne

SI suprespace ALORS
Ch=SansEspace(pCh)
SINON
Ch=pCh
FIN

Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN

RENVOYER Caract(34)+Ch+Caract(34)

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
MiF
Le #14650021
Roumegou Eric a écrit :
Il se trouve que Vincent a formulé :
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un
séparateur " """ ca marche pas,

en regle generale : comment indiquer que l'on recherche double
guillemet ?
merci
Vincent



il faut doubler, c'est à dire qu'il y en a 4 """"
Mais quand tu dois jouer avec des guillemets cela devient vite
impossible à relire.

Donc j'ai systématiquement une constante projet cGuillemet initilialisée
par """" ou par caract(34).
Et j'ai une fonction EntreGuillemet (c + simple)

FONCTION Entre_Guillemet(pCh,suprespace=Vrai)
// 1. Double les Guillemet dans la chaine
// 2. Entoure avec des Guillemet

Pos est un entier
Ch est une chaîne

SI suprespace ALORS
Ch=SansEspace(pCh)
SINON
Ch=pCh
FIN

Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN

RENVOYER Caract(34)+Ch+Caract(34)




Bonjour Eric,

Si je peux me permettre de mettre mon grain de sel, tu as beaucoup plus
simple (et probablement plus rapide à l'exécution) en remplaçant :

---
Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN
---

par

---
ch = remplace(ch, """", """"""")
---

Cordialement,

Michel Fages
Roumegou Eric
Le #14650001
MiF avait écrit le 07/04/2007 :
Roumegou Eric a écrit :
Il se trouve que Vincent a formulé :
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un
séparateur " """ ca marche pas,

en regle generale : comment indiquer que l'on recherche double guillemet ?
merci
Vincent



il faut doubler, c'est à dire qu'il y en a 4 """"
Mais quand tu dois jouer avec des guillemets cela devient vite impossible à
relire.

Donc j'ai systématiquement une constante projet cGuillemet initilialisée
par """" ou par caract(34).
Et j'ai une fonction EntreGuillemet (c + simple)

FONCTION Entre_Guillemet(pCh,suprespace=Vrai)
// 1. Double les Guillemet dans la chaine
// 2. Entoure avec des Guillemet

Pos est un entier
Ch est une chaîne

SI suprespace ALORS
Ch=SansEspace(pCh)
SINON
Ch=pCh
FIN

Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN

RENVOYER Caract(34)+Ch+Caract(34)




Bonjour Eric,

Si je peux me permettre de mettre mon grain de sel, tu as beaucoup plus
simple (et probablement plus rapide à l'exécution) en remplaçant :

---
Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN
---

par

---
ch = remplace(ch, """", """"""")
---

Cordialement,

Michel Fages



oui mais ce sont des fn qui datent de 4.10 et qui n'ont jamais été
refaites depuis lol
c'est effectivement la relexion que je me suis faite qd j'ai collé le
code.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Vincent
Le #14649981
Merci à tous pour votre aide

Vincent

"Roumegou Eric"
MiF avait écrit le 07/04/2007 :
Roumegou Eric a écrit :
Il se trouve que Vincent a formulé :
Bonjour,
je n'arrive pas à me rapeller la syntaxe de extraichaine avec un
séparateur " """ ca marche pas,

en regle generale : comment indiquer que l'on recherche double
guillemet ?
merci
Vincent



il faut doubler, c'est à dire qu'il y en a 4 """"
Mais quand tu dois jouer avec des guillemets cela devient vite
impossible à relire.

Donc j'ai systématiquement une constante projet cGuillemet initilialisée
par """" ou par caract(34).
Et j'ai une fonction EntreGuillemet (c + simple)

FONCTION Entre_Guillemet(pCh,suprespace=Vrai)
// 1. Double les Guillemet dans la chaine
// 2. Entoure avec des Guillemet

Pos est un entier
Ch est une chaîne

SI suprespace ALORS
Ch=SansEspace(pCh)
SINON
Ch=pCh
FIN

Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN

RENVOYER Caract(34)+Ch+Caract(34)




Bonjour Eric,

Si je peux me permettre de mettre mon grain de sel, tu as beaucoup plus
simple (et probablement plus rapide à l'exécution) en remplaçant :

---
Pos=Position(Ch,Caract(34))
TANTQUE Pos>0
Ch=Gauche(Ch,Pos-1)+Caract(34)+Caract(34)+Milieu(Ch,Pos+1)
Pos=Position(Ch,Caract(34),Pos+2)
FIN
---

par

---
ch = remplace(ch, """", """"""")
---

Cordialement,

Michel Fages



oui mais ce sont des fn qui datent de 4.10 et qui n'ont jamais été
refaites depuis lol
c'est effectivement la relexion que je me suis faite qd j'ai collé le
code.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)




Real Phil
Le #14649971
> en regle generale : comment indiquer que l'on recherche double guillemet ?
merci
Vincent



s2Guill est une chaîneÊract(34)+Caract(34)

SI Position(SaisieChamp,s2Guill) ALORS
Info("Il y a des doubles guillemets dans le texte saisie")
RepriseSaisie(SaisieChamp)
FIN
Publicité
Poster une réponse
Anonyme