J'ai une chaîne par exemple "numéro1<=numéro2&&numéro3>numéro4||numéro2=numéro4" et ayant une liste d'opérateurs comme -
var opérateurs = new List {"=", "!", "<", ">", ">=", "<=", "!=", "||", "&&"};
Par conséquent, l'attente est d'ajouter un seul espace avant et après chaque opérateur dans la chaîne.
"numéro1 <= numéro2 && numéro3 > numéro4 || numéro2 = numéro4"
J'ai essayé le code suivant mais cela ne fonctionne pas par exemple pour <, >=
public static string AjouterEspaceAvantEtApresOperateur(string expression) {
var opérateurs = new List {"=", "!", "<", ">", ">=", "<=", "!=", "||", "&&"};
foreach (var op in opérateurs) {
var index = expression.IndexOf(op, StringComparison.Ordinal);
if (index >= 0) {
if (expression.Substring(index - 1) != " ") {
expression = expression.Insert(index-1, " ");
}
expression = expression.Insert(index + op.Length + 1, " ");
}
}
return expression;
}
Remarque : La liste des opérateurs est aléatoire.
Toute aide serait appréciée!