2010-08-03 3 views
1

J'ai besoin de remplacer les emplacements marqués spéciaux par des valeurs. Semblable à ce que string.Format fait, mais d'une manière un peu plus avancée.Analyse et mise à jour des chaînes formatées

Par exemple: chaîne d'entrée: "Bienvenue dans {Binding Path = @ city}!" La valeur de @city est "Boston" La chaîne de sortie doit être "Bienvenue à Boston!".

Je peux analyser avec succès la chaîne d'entrée avec regex et obtenir les valeurs. Mais pour mettre à jour la chaîne, j'utilise simplement string.Replace. Je suis currious s'il y a une meilleure façon de gérer les mises à jour pour un tel scenarious?

Répondre

1

Vous pouvez utiliser le Regex.Replace method, mais vous n'en avez vraiment besoin que si plusieurs points sont remplacés (EX: multiple {Binding Path- @ city} dans une chaîne).

+0

Si j'ai plusieurs motifs à remplacer par des valeurs différentes, Regex.Replace ne fonctionnera pas. Par exemple si l'entrée est "Welcome {Binding Path = @ name} à {Binding Path = @ city}!" Cela ne fonctionnera pas, car tous les motifs auront la même valeur. – Andrii

+0

Correct, je parlais de moments où vous avez plusieurs occurrences de la même chaîne à remplacer. Le modèle de correspondance devrait être spécifique dans ce cas. –

Questions connexes