Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD10] extrait chaine : "

6 réponses
Avatar
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

6 réponses

Avatar
Vincent
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" a écrit dans le message de news:

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 ;)




Avatar
Roumegou Eric
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é)
Avatar
MiF
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
Avatar
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é)
Avatar
Vincent
Merci à tous pour votre aide

Vincent

"Roumegou Eric" a écrit dans le message de news:

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é)




Avatar
Real Phil
> 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