Je voudrais remplacer tous les caractères spéciaux dans une chaîne par une comma (,)
.
Par exemple:
Hello@Hello&Hello(Hello)
le résultat –
Hello,Hello,Hello,Hello,
(Je ne sais pas comment utiliser regexp en C #)
Puis-je faire ce travail en utilisant regexp en C #?
Oui, vous pouvez utiliser regular expressions
en C #.
Using regular expressions with C#
:
using System.Text.RegularExpressions; ssortingng your_Ssortingng = "Hello@Hello&Hello(Hello)"; ssortingng my_Ssortingng = Regex.Replace(your_Ssortingng, @"[^0-9a-zA-Z]+", ",");
Supposons que vous souhaitiez remplacer des symboles qui ne sont ni des chiffres ni des lettres (et le caractère _ en tant que @Guffa correctement pointé):
ssortingng input = "Hello@Hello&Hello(Hello)"; ssortingng result = Regex.Replace(input, @"[^\w\d]", ","); // Hello,Hello,Hello,Hello,
Vous pouvez append d’autres symboles qui ne doivent pas être remplacés. Par exemple, si vous voulez que les symboles d’espace blanc restnt, ajoutez simplement \s
au motif: \[^\w\d\s]
Vous pouvez utiliser une expression régulière pour remplacer, par exemple, tous les caractères non alphanumériques par des virgules:
s = Regex.Replace(s, "[^0-9A-Za-z]+", ",");
Remarque: le signe +
après le jeu le fera remplacer chaque groupe de caractères non alphanumériques par une virgule. Si vous souhaitez remplacer chaque caractère par une virgule, supprimez simplement le +
.
En outre, cela peut être fait avec LINQ
var str = "Hello@Hello&Hello(Hello)"; var characters = str.Select(c => char.IsLetter(c) ? c : ',')).ToArray(); var output = new ssortingng(characters); Console.WriteLine(output);