Dans une chaîne d'entrée, je souhaite utiliser le Jagged Array suivant pour remplacer la première valeur de colonne par la deuxième colonne précédée de \
. Par exemple, a<=bTestc<e
devient a\lebTestc\lte
. Comment puis-je atteindre ce par programme? J'utilise un modèle Regex défini ci-dessous en concaténant tous les éléments de la première colonne du tableau dentelé, en utilisant le séparateur |
(Regex "OR") entre chaque élément. J'ai concaténé les éléments en prenant les éléments de l'ordre de la plus grande longueur à la plus courte longueur de sorte que si l'élément plus court est contenu dans l'élément plus grand, il n'est pas remplacé [Ref: Example. J'utilise .NET 4.5.2Remplacer la première valeur de colonne par la deuxième valeur de colonne à l'aide de Regex dans le tableau dentelé
string[][] sSymb = { new string[] { "!=", "ne" }, new string[] { "lt=", "leq" }, new string[] { "<", "lt" }, new string[] { ">", "gt" }, new string[] { "<=", "le" }, new string[] { "gt=", "geq" }, new string[] { ">=", "ge" }, new string[] { "!in", "notin" }, new string[] { "sub", "subset" }, new string[] { "sup", "supset" } };
string sPattern = "gt=|!in|sub|sup|!=|<=|lt|>=|<|>";
Regex regex = new Regex(sPattern);
string st = regex.Replace("a<=bcd<e", "\\$&"); //this prepends the first column element of array with \ . I need to replace the first column element with \ + second column element
Console.WriteLine(st);
Salut! J'ai ajouté dans un exemple de comment réaliser ce que vous êtes après avoir utilisé le tableau en dents de scie; mais je pense que le dictionnaire ordonné est une solution plus élégante. J'espère que cela pourra aider! – gerrod