Spliter une chaine de caractères en 2 listes suivant une regex
Bonsoir,
Je suis un stagiaire et actuellement je développe une solution en C# qui me permet de récupérer une chaîne de caractère dans une cellule d'un fichier excel. Une fois cette chaîne récupérée, il faut séparer les éléments de cette chaine en 2 autres listes (sample et reference) suivant une regex. C'est a dire que si jamais de un élément cette chaîne correspond à la regex, il faut l'envoyer dans la liste "sample" et si à l'inverse cela ne correspond pas, il faut l'envoyer dans la liste "reference".
Depuis plusieurs jours, j'essaie de régler ce problème mais je n'y arrive pas j'ai d'abord essayé la méthode regex split mais elle ne fonctionnait pas comme il faut, quand je lance la console il n'y a aucun élément qui est affiché.
Et puis je suis parti sur la méthode regex match avec une condition à l'intérieur mais ça ne marche pas comme je souhaite.
Voici un bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
for (int i = 1; i <= rowCount; i++)
{
IRow curRow = sheet.GetRow(i);
string cellValue1 = curRow.GetCell(1).StringCellValue.Trim();
List<Match> sample = new List<Match>();
List<Match> reference = new List<Match>();
string pattern = @"C-[0-9][0-9][0-9][0-9][0-9][0-9]-S-[0-9][0-9][0-9][0-9]";
Regex rgx = new Regex(pattern);
string imput = cellValue1;
foreach (Match m in rgx.Matches(imput))
{
if(m.Success)
{
sample.Add(m);
}
Console.WriteLine(sample);
} |
"CellValue1" correspond à la chaîne de caractère récupérer depuis la cellule du excel.
Pouvez-vous m'aidez à trouver une solution à mon problème ?
Merci de votre compréhension.