J'ai une liste de chaînes où chaque chaîne a un indice et j'ai besoin d'extraire l'indice de cette chaîne et de le mettre dans une List
.
Voici un exemple de liste :
List values = new List();
values.Add("cohabitantGender");
values.Add("additionalDriver0LastName");
values.Add("additionalDriver0AgeWhenLicensed");
values.Add("vehicle0City");
values.Add("vehicle1City");
values.Add("vehicle2City");
values.Add("vehicle3City");
de cette liste, je dois extraire les indices des valeurs vehicleXCity
. J'ai actuellement ce code :
public static List FormObjectIndexExtractor(List values, string prefix, string suffix)
{
var selectedMatches = values.Where(v => v.StartsWith(prefix) && v.EndsWith(suffix)).Select(v=> v).ToList();
var indexes = new List();
foreach (var v in selectedMatches) indexes.Add(int.Parse(Regex.Match(v, @"\d+").Value));
return indexes;
}
Et je l'utilise de cette manière :
List indexes = FormObjectIndexExtractor(values, "vehicle", "City");
Mais si j'ai une valeur comme vehicle4AnotherCity
, le code ne fonctionnera pas correctement.
Est-ce que quelqu'un a une alternative à ce code qui pourrait aider ?