andrew4582

FormatDictionary

Aug 10th, 2011
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.82 KB | None | 0 0
  1.    public static string FormatDictionary(this string str, Dictionary<string, object> args)
  2.         {
  3.             var rex = new Regex("{.*?}");
  4.             var groups = new List<string>();
  5.             foreach (Match x in rex.Matches(str))
  6.             {
  7.                 var strippedVal = x.Value.Trim('{', '}');
  8.                 if (!groups.Contains(strippedVal))
  9.                     groups.Add(strippedVal);
  10.             }
  11.             var values = new List<object>();
  12.             for (int i = 0; i < groups.Count; i++)
  13.             {
  14.                 str = str.Replace("{" + groups[i] + "}", "{" + i + "}");
  15.                 values.Add(args.ContainsKey(groups[i]) ? args[groups[i]] : string.Empty);
  16.             }
  17.             return string.Format(str, values.ToArray());
  18.             //return string.Format(str, args);
  19.         }
Advertisement
Add Comment
Please, Sign In to add comment