1
我不是正則表達式忍者,並想知道是否有可能重構我的代碼轉換Sinata風格路線/:foo/:bar
到.NET風格路線/{foo}/{bar}
。下面的代碼是我目前的實現,希望有一個更清潔(也許是正則表達式?)解決方案。Sinatra路由轉換爲.NET路由
private static string Convert(string input)
{
string output = "/";
var segments = input.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var segment in segments)
if (segment.StartsWith(":"))
output += "{" + segment.TrimStart(':') + "}/";
else
output += segment + "/";
if (output.Length > 1)
output = output.TrimEnd('/');
return output;
}
真棒,謝謝! – 2011-02-14 22:35:31