Bonjour, j’ai récupéré une chaine de caractère comme si dessous en exemple : C:\Users\Windows11\paneau solaire\verre goutiere\0\verre goutiere vue de dessus.jpg
J’aimerais dans cet exemple juste récupérer uniquement le nom du fichier avec son extension verre gouttière vue de dessus.jpg
Comment faire ?
Sachant que je dois traiter un fichier qui fait plus de 7 000 lignes et que les informations du fichier ont déjà était traité et filtré en amont à partir d’une bibliothèque contenant plus de 70 000 fichiers. De plus, la valeur de la chaine change en fonction du résultat de la fonction random. Certaine chaine peuvent contenir 20 caractères comme 90 par exemple. Un aperçu du code en question sera plus parlant.
for$y=1to10 $v=_FileCountLines($fc); $fc est la variable qui pointe au fichier déjà traité au dessus de ce code, code non affiché ici. $z=random(0,$v,1) $x=fileopen($fc,0) $w=filereadline($x,$z) fileclose($x) if$w=""then else ; action a faire en utilisent la variable $w. C'est $w qui me retourne la chaine de caractère. endif next
Youps le voilà
Evidemment c'est du regex. On peut traiter les lignes une par une, ou traiter carrément l'ensemble du texte issu du FileRead (à éventuellement adapter selon la forme du texte dans le fichier)
Il y a plusieurs expressions possibles, voilà 2 exemples :
; Pour une ligne : $path="C:\Users\Windows11\paneau solaire\verre goutiere\0\verre goutiere vue de dessus.jpg" $res=StringRegExpReplace($path,'.+\\(.+)$',"$1") MsgBox(0,"",$res)