[R] Extraire des infos d'un nom de fichier (stringsplit)
Posté : lun. 12 mars 2018 10:52
Bonjour à tous,
Dans le cadre d'un petit script, je souhaite extraire des données sur une petite liste de fichiers vidéos.
Les fichiers sont de la forme:
A cette fin j'ai pondu ce petit script:
Celui-ci fonctionne correctement et le tableau $bdd contient bien ce qu'il me faut.
Le problème c'est le cas non conforme. Par exemple des - dans le titre de la vidéos:
Avec ce titre du coup je n'ai que le premier mot...
Je me doute qu'il va falloir passer que je vais devoir utiliser des RegExp mais ce n'est pas vraiment ma tasse de thé...
Dans le cadre d'un petit script, je souhaite extraire des données sur une petite liste de fichiers vidéos.
Les fichiers sont de la forme:
2018-03-01 (blabla) - blabla2 - titre de la vidéo.avi
A cette fin j'ai pondu ce petit script:
Code : Tout sélectionner
;Chargement de la liste des fichiers dans un tableau
Local $listevideos = _FileListToArrayRec(@ScriptDir, "*.avi;*.mp4;*.mkv")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Erreur", "Aucune vidéo dans le dossier.", 15)
Exit
EndIf
_ArrayDisplay($listevideos, "$listevideos")
;Création d'un tableau $bdd vide contenant les infos utiles pour chaque vidéos
Local $bdd[$listevideos[0]][6]
;Boucle remplissage du tableau $bdd
Local $ibdd = 0
For $i = 1 To $listevideos[0]
$bdd[$ibdd][0] = $listevideos[$i] ;Colonne 0 = Nom du fichier vidéos (*.avi)
;Extraire les données du nom de la vidéo
Local $tableaunom = StringSplit($listevideos[$i], "-") ;Découpage du nom du fichier
$tableaunom[5] = StringTrimLeft($tableaunom[5], 1) ;Nom de la vidéo
$tableaunom[5] = StringTrimRight($tableaunom[5], 4) ;Nom de la vidéo
$tableaunom[1] = StringLeft($tableaunom[1], 4) ;Année
$tableaunom[2] = StringLeft($tableaunom[2], 2) ;Mois
$tableaunom[3] = StringLeft($tableaunom[3], 2) ;Jour
Local $dateUS = $tableaunom[1] & "-" & $tableaunom[2] & "-" & $tableaunom[3] ;Date de la vidéo au format US (2017-12-27)
Local $dateFR = $tableaunom[3] & "." & $tableaunom[2] & "." & $tableaunom[1] ;Date de la vidéo au format FR (27.12.2017)
Local $titrevideo = $tableaunom[5]
Local $thumbnail = StringTrimRight($listevideos[$i], 3) & "jpg"
Local $fichierjson = StringTrimRight($listevideos[$i], 3) & "json"
;Remplissage d'une ligne du tableau $bdd
$bdd[$ibdd][1] = $titrevideo ;Colonne 1 = Titre de la vidéo
$bdd[$ibdd][2] = $dateFR ;Colonne 2 = Date FR
$bdd[$ibdd][3] = $dateUS ;Colonne 3 = Date US
$bdd[$ibdd][4] = $thumbnail ;Colonne 4 = Nom du fichier image pour le thumbnail
$bdd[$ibdd][5] = $fichierjson ;Colonne 5 = Nom du fichier JSON
$ibdd += 1
Next
_ArrayDisplay($bdd, "$listevideos")
Le problème c'est le cas non conforme. Par exemple des - dans le titre de la vidéos:
2018-03-01 (blabla) - blabla2 - titre-de-la-vidéo.avi
Avec ce titre du coup je n'ai que le premier mot...
Je me doute qu'il va falloir passer que je vais devoir utiliser des RegExp mais ce n'est pas vraiment ma tasse de thé...