Si vous avez des masques que vous voulez partager, postez les ici.
Inutile de mettre toute la fonction. Mettez uniquement la chaine entre guillemets
avec une description courte de ce qu'elle est censée faire, comme ici.
;Extracteur de date v2
;utilisant les expressions régulières
; Par Ar-S / Nov 2011 - P.B 4.60
; Extrait date sous forme jj-mm-aaaa (plus un espace) d'après une date dans sous la forme jj/mm/aaaa ou jj/mm/aaaa dans un string
t$ = "nous sommes le 16/11/2011 et on se caille les miches. Hier c'était pareil, le 15.11.2011 à 11h c'était encore givré" ; le string contenant la date
t$ + "la date suivante ne sera pas prise en compte : 17 11 2012 car le séparateur espace n'est pas indiqué"
Global Dim result$(0)
Procedure.s ExtractDate(t$,ARS_separateur$)
; Ar-S
; Extraction de date v2
Final$ = ""
; v2 permetant de trouver une date utilisant les separateurs "." "/" et "-"
expr$ = "([0-9]{2}+[" + ARS_separateur$ + "]){2}[0-9]{4}"
CreateRegularExpression(0,expr$)
NbrTrouve = ExtractRegularExpression(0, t$ , result$()) ;Extrait les résultat dans result()
If NbrTrouve>0
For k = 0 To NbrTrouve-1
LaDate$ = result$(k)
Aremplacer$ = Mid(LaDate$,3,1)
; Ensuite la date est convertie ci besoin au format jj-mm-aaaa
LaDate$ = ReplaceString(LaDate$,Aremplacer$,"-")
If NbrTrouve = 1
Final$ = LaDate$
Else
Final$ + " " + LaDate$
EndIf
Next
; On supprime le 1er espace de gauche s'il y en a
Final$ = LTrim(Final$)
FreeRegularExpression(0)
ProcedureReturn Final$
Else
FreeRegularExpression(0)
ProcedureReturn "Pas de date !"
EndIf
EndProcedure
Debug "test 1"
Debug ExtractDate(t$,"/.-") ; ici 3 séparateurs de recherchés
Debug "test 2"
Debug ExtractDate(t$," ") ; ici seulement le séparateur "espace"
End
Mesa a écrit :C'est quelque chose qui pourrait même faire partie de l’éditeur de PB àmon avis.
je sais plus pour l'editeur Officiel , mais pour ce qui concerne , Japbe , ou EPB on peut avoir acces a un utilitaire
par le menu , donc, utilisable a volonté pendant le codage
;Vérifier un mot dans une liste
Global *RegMatch = CreateRegularExpression(#PB_Any ,"^(?i)(tomate|courgette|pomme de terre){1}")
Procedure EstUnlegume(Valeur.s)
ProcedureReturn MatchRegularExpression (*RegMatch, Valeur)
EndProcedure
Debug EstUnlegume("courgette") ;Retournera #True
Debug EstUnlegume("pomme de terre") ;Retournera #True
Debug EstUnlegume("poire") ;Retournera #False
Debug EstUnlegume("Courgette") ;Retournera #True
Debug EstUnlegume("pomme de Terre") ;Retournera #True
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%