J'aurais besoin d'un peu d'aide pour savoir comment faire pour exclure une partie d'un texte lors de la génération d'une liste et de son affichage dans le log de la console.
Si j'affiche une liste dont chaque entrée commence par le nom d'un jeu suivi de l'intitulé de la vidéo, comme par exemple :
Zelda Tears of the Kingdom - Comment terminer Temple du Vent ?
Quel méthode je dois utiliser pour que le résultat qui s'affiche dans la console soit uniquement :
Comment terminer Temple du Vent ?
Le but étant d'avoir la liste de toutes les vidéos, qui affiche uniquement l'intitulé de la vidéo, sans le nom du jeu, les espaces et le - qui précède.
N'étant pas programmeur web mais JV/appli, je ne sais pas trop comment procéder, si je dois le faire lors de la constitution de la liste ou si c'est possible de le faire uniquement lors de l'affichage de ses éléments dans la console ?
Merci d'avance à la/les âme(s) charitable(s) qui pourront m'aider

T'utilise quel langage / outil ?
Est ce que tu es certain que tous les titres des videos ont le format "Nom Jeu - titre video" ?
Est ce que ta liste est dans un array ?
Sinon pour l'exemple que tu donne j'ai fait ça en
// code
let videoName = "Zelda Tears of the Kingdom - Comment terminer Temple du Vent ?";
videoName.substring(videoName.indexOf("-") + 2);
// output
"Comment terminer Temple du Vent ?"
En JS, tu as plusieurs facons de gerer du split de texte:
* Tu peux splitter ton texte et recuperer la partie qui t'interesse.
Ex: "mon texte - mon autre texte".split("-") (ca te creera un array avec les 2 elements)
* Tu peux utiliser une expression rationnelle (regex) - mais ca reste un peu plus complexe a maitriser si tu n'y es pas habitue.
Ex: /-(.*)$/.exec("mon texte - mon autre texte") (ca te creera un array avec l'element 0 etant ton texte entier et l'element 1 etant la capture de fin.
Ces exemples sont surtout la pour pouvoir t'aiguiller, ils peuvent ne pas etre parfait pour tous les cas comme par exemple pour les titres avec 2 "-"
lt93 : yes pardon j'ai oublié le préciser que c'était du JS et ma liste est bien dans un array, avec à chaque entrée une variable texte qui contient "Nom du jeu suivi du nom d'une astuce". Le nom du jeu reste le même, mais l'intitulé de l'astuce change à chaque nouvelle entrée, du coup je voudrais récupérer uniquement le nom de l'astuce et l'afficher dans la console debug.
bosam : ok je vois, la 1ère solution me paraît la plus adapté du coup, je vais la tester, mais du coup il faut que je modifie le traitement des données lors de la constitution de l'array.
L'exemple de code dans le langage que l'on veut est tjr utile pour le mettre en place par la suite.
let videoName = "Zelda Tears of the Kingdom - Comment terminer Temple du Vent ?";
function SplitName(string videoName){
return videoName.substring(videoName.indexOf("-") + 2);
}
debug.console(SplitName(videoName));
Le but d'utiliser une fonction est d'isoler ce traitement pour l'utiliser ailleurs plus tard ou changer facilement le traitement plus tard si tu as besoin de faire autre chose.
https://jsfiddle.net/fc6p2sLa/1/
fragg : je pense pas pouvoir partager le code directement, il ne s'exécutera pas vu qu'il exploite une base de données. Merci pour l'exemple que tu as posté, ça devrait aussi m'aider
syniphus : c'est parfait, je me demandais justement si c'était possible de faire le traitement de suppression d'une partie du texte directement lors de l'affichage dans la console. Du coup je vais essayer ta méthode qui me paraît plus simple.
let videos = [
"Zelda Tears of the Kingdom - Comment terminer Temple du Vent ?",
"Super Mario Odyssey - Guide des lunes cachées dans le Pays de Bowser",
// Ajoutez d'autres vidéos ici
];
// Bouclez à travers chaque vidéo
videos.forEach(video => {
// Utilisez la méthode split() pour diviser la chaîne en fonction du "-"
// Puis récupérez la deuxième partie de la chaîne en enlevant les espaces inutiles
let videoTitle = video.split("-")[1].trim();
// Affichez le titre de la vidéo dans la console
console.log(videoTitle);
});