Replace {x} tokens in strings

asp.net, c#, token

Solution

A simple approach is to use a `foreach` and a `Dictionary` with a `String.Replace`:

var values = new Dictionary<string, string> {
    { "{networkid}", "WHEEE!!" }
    // etc.
};
var url = "http://api.example.com/sale?auth_user=xxxxx&auth_pass=xxxxx&networkid={networkid}&category=b2c&country=IT&pageid={pageid}&programid=133&saleid=1&m={master}&optinfo={optinfo}&publisher={publisher}&msisdn={userId}";

foreach(var key in values.Keys){
    url = url.Replace(key,values[key]);
}

Problem

We have a template URL like: ``` http://api.example.com/sale?auth_user=xxxxx&auth_pass=xxxxx&networkid={networkid}&category=b2c&country=IT&pageid={pageid}&programid=133&saleid=1&m={master}&optinfo={optinfo}&publisher={publisher}&msisdn={userId} ``` and I have values for these constant tokens. How can replace all these tokens in C#?

Original source

Related problems