Retourner une partie précise d'une ligne d'un document

Résolu
Drarig29
Messages postés
82
Date d'inscription
jeudi 26 décembre 2013
Statut
Membre
Dernière intervention
14 juin 2016
- Modifié par Drarig29 le 7/12/2014 à 20:56
 Drarig29 - 8 déc. 2014 à 16:18
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

Whismeril
Messages postés
17480
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
2 juillet 2022
600
8 déc. 2014 à 06:58
Bonjour je te conseille de regarder du côté des Regex
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
8 déc. 2014 à 11:06
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
0
Je vais essayer ceci ;)
0