Retourner une partie précise d'une ligne d'un document [Résolu]

Signaler
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
-
 Drarig29 -
Bonjour, j'ai un fichier log avec des centaines de lignes, et parmi elles, certaines ont cette forme :

[11:57:08] [Client thread/INFO]: [CHAT] Round 1 Ended: The word was Umbrella!

J'aimerais garder que le mot Umbrella, mais je ne sais pas comment faire.
J'ai cherché une commande pour retourner les charactères qui se trouvent à la 68ème position, mais
je n'ai rien trouvé.
J'ai essayé avec la méthode Split :

For Each line As String In File.ReadAllLines("C:\fichier.log")
If line.Contains("The word was") Then
Console.WriteLine(line.Split("The word was")(1))
End If
Next


Mais ce code ne marche pas, à vrai dire, je ne comprends pas du tout, car quand je l'exécute,
il écrit ceci dans la console :

"] Round 1 Ended: "

Je pensais que cette ligne de code :
Console.WriteLine(line.Split("The word was")(1))
servait
à retourner le texte à droite du séparateur, et cette ligne de code :
Console.WriteLine(line.Split("The word was")(0))
servait à retourner le texte à gauche du séparateur...

Merci de votre aide et de vos explications... ;)

2 réponses

Messages postés
15624
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
26 février 2021
516
Bonjour je te conseille de regarder du côté des Regex
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonjour

   Dim str As String = "[11:57:08] [Client thread/INFO]: [CHAT] Round 1 Ended: The word was Umbrella!"
Dim vector() As String
Dim separator() As String = {"The word was"}
If str.Contains(separator(0)) Then
vector = str.Split(separator, StringSplitOptions.None)
Console.WriteLine(vector(1))
End If
Je vais essayer ceci ;)