Bonjour,
J'ai une chaine du type: Prenez [M24_DIRECT]à droite[/M24_DIRECT]
Je veux supprimer tous les tags entre crochets, comme [M24_DIRECT].
Le framework fournit il une classe permettant ce traitement?
Merci d'avance,
Philippe
Bonjour,
J'ai une chaine du type: Prenez [M24_DIRECT]à droite[/M24_DIRECT]
Je veux supprimer tous les tags entre crochets, comme [M24_DIRECT].
Le framework fournit il une classe permettant ce traitement?
Merci d'avance,
Philippe
Oui, tu peux utiliser une expression rationnelle (Regex) et effectuer un remplacement de caractères. Il juste dans ton cas remplacer cette chaine par rien.
Tu peux te baser sur une expression de type :
Cette expression sélectionne au plus proche les textes entre crochets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part \[.*?\]
Voici le code complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 string pattern = @"\[.*?\]"; Regex rgx = new Regex(pattern); string inputStr = taChaineANettoyer; string outputStr = rgx.Replace(inputStr, "");
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
J'aurais tendance à utiliser également le remplacement avec les expressions régulières, mais en gérant des groupes pour les balises ouvrantes/fermantes. Seul défaut, ca ne permettra pas de gérer des balises imbriquées, il faudra boucler pour ça
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 string input = "Prenez [M24_DIRECT]à droite[/M24_DIRECT] puis [M23_DIRECT]à gauche[/M23_DIRECT]"; // On enlève les balises string final = Regex.Replace(input, @"\[(.*?)\](?<contenu>[^\[\]]*)\[/\1\]", "${contenu}"); // Par contre cette chaine ne pourrait être traitée ainsi string input = "Prenez [M24_DIRECT]à droite puis [M23_DIRECT]à gauche[/M23_DIRECT][/M24_DIRECT]
Pas de questions techniques par MP
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager