Je voudrais remplacer tous les caractères spéciaux dans une chaîne avec un 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;
string your_String = "Hello@Hello&Hello(Hello)";
string my_String = Regex.Replace(your_String, @"[^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é):
string input = "Hello@Hello&Hello(Hello)";
string result = Regex.Replace(input, @"[^\w\d]", ",");
// Hello,Hello,Hello,Hello,
Vous pouvez ajouter d'autres symboles qui ne doivent pas être remplacés. Par exemple. si vous voulez que les symboles d’espace blanc restent, 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]+", ",");
Noter la +
après le jeu 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 string(characters);
Console.WriteLine(output);