Question
couper une chaine après un délimiteur specifique.
- rogerdu59
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 3 ans 6 mois #30003
par rogerdu59
couper une chaine après un délimiteur specifique. a été créé par rogerdu59
Bonjour,
j'aimerais prendre une chaine dans un fichier texte, tout supprimer après un délimiteur spécifique qui apparait plusieurs fois dans la chaine concernée.
et réécrire le résultat dans un nouveau fichier texte. j'ai essayé pas mal de fonctions (split, replace, Substring) mais ça me revoit toujours des résultats qui n'ont aucun sens.
ex:
-entrée : Interdit à deux mecs de se rendre. Emmenez le prisonnier, dit le moine ; ainsi donc, il protège les hommes en les distribuant à chaque porte. Maison était un but plaisant pour les amateurs peu éclairés ; et, ajouta-t-il en joignant les deux mains de force. Fils d'un de leurs amis, de vous parler, car il connaissait assez sa fille pour la souhaiter à son pire ennemi, n'est, du reste ! Répondre avant d'avoir dépassé l'endroit où nous étions alors ; car enfin il y avait quelques heures, qu'il enjamba de nouveau.
délimiteur : le dernier ";" du texte
-sortie :
Interdit à deux mecs de se rendre. Emmenez le prisonnier, dit le moine ; ainsi donc, il protège les hommes en les distribuant à chaque porte. Maison était un but plaisant pour les amateurs peu éclairés ; et, ajouta-t-il en joignant les deux mains de force. Fils d'un de leurs amis, de vous parler, car il connaissait assez sa fille pour la souhaiter à son pire ennemi, n'est, du reste ! Répondre avant d'avoir dépassé l'endroit où nous étions alors
je sais pas si c'est clair ? déjà la bonne fonction a utiliser d'après vous ?
Merci
j'aimerais prendre une chaine dans un fichier texte, tout supprimer après un délimiteur spécifique qui apparait plusieurs fois dans la chaine concernée.
et réécrire le résultat dans un nouveau fichier texte. j'ai essayé pas mal de fonctions (split, replace, Substring) mais ça me revoit toujours des résultats qui n'ont aucun sens.
ex:
-entrée : Interdit à deux mecs de se rendre. Emmenez le prisonnier, dit le moine ; ainsi donc, il protège les hommes en les distribuant à chaque porte. Maison était un but plaisant pour les amateurs peu éclairés ; et, ajouta-t-il en joignant les deux mains de force. Fils d'un de leurs amis, de vous parler, car il connaissait assez sa fille pour la souhaiter à son pire ennemi, n'est, du reste ! Répondre avant d'avoir dépassé l'endroit où nous étions alors ; car enfin il y avait quelques heures, qu'il enjamba de nouveau.
délimiteur : le dernier ";" du texte
-sortie :
Interdit à deux mecs de se rendre. Emmenez le prisonnier, dit le moine ; ainsi donc, il protège les hommes en les distribuant à chaque porte. Maison était un but plaisant pour les amateurs peu éclairés ; et, ajouta-t-il en joignant les deux mains de force. Fils d'un de leurs amis, de vous parler, car il connaissait assez sa fille pour la souhaiter à son pire ennemi, n'est, du reste ! Répondre avant d'avoir dépassé l'endroit où nous étions alors
je sais pas si c'est clair ? déjà la bonne fonction a utiliser d'après vous ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 3 ans 6 mois #30008
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet couper une chaine après un délimiteur specifique.
Salut,
une piste :A vérifier
une piste :
#Chaine sans retour chariot
$t='Un autre; et encore.Ici ; dernier avant la fin'
#Mode de recherche de droite à gauche
#https://docs.microsoft.com/fr-fr/dotnet/api/system.text.regularexpressions.regexoptions?view=netcore-3.1#System_Text_RegularExpressions_RegexOptions_RightToLeft
$r=[Regex]::Matches($t, '^(?<Debut>.*);(?<fin>.*?)', 'RightToLeft')
#Accès au groupe par un nom de capture
($r.groups|? {$_.Name -eq 'Debut'}).value
#Un autre; et encore.Ici
Tutoriels PowerShell
Les utilisateur(s) suivant ont remercié: rogerdu59
Connexion ou Créer un compte pour participer à la conversation.
- rogerdu59
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 3 ans 6 mois #30023
par rogerdu59
Réponse de rogerdu59 sur le sujet couper une chaine après un délimiteur specifique.
C'est bon j'ai trouvé, en fait c'est bien faisable avec un replace, mais j’utilisais un .replace au lieu d'un -replace, tout bêtement.
Merci !
Merci !
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.070 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- couper une chaine après un délimiteur specifique.