ここで留意すべきことの 1 つは、Uri を扱っている場合はUri
、ソリューションを一緒にストリング マッシュするよりも、クラスを使用して情報を抽出する方がよいということです。
http://msdn.microsoft.com/en-us/library/system.uri.aspx
例えば:
var part = String.Format("{0}://{1}{2}",uri.Scheme,uri.Authority, String.Join("",uri.Segments.Take(7)));
目的のセクションを取得します。実際の例: http://rextester.com/JRWKOG58567
編集
いくつかの追加の要件とフレームワークの制限を発見したので、結局のところ、これを文字列マッシングしたほうがよいかもしれませんが、それでもUri
クラスからいくつかの機能を活用できます。
var input = "https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104/1007/tingjack/default.aspx";
var uri = new Uri(input);
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}://{1}/",uri.Scheme,uri.Authority);
var parts = uri.PathAndQuery.Split(new char[]{'/'},StringSplitOptions.RemoveEmptyEntries);
for(var i=0;i<6;i++){
sb.AppendFormat("/{0}",parts[i]) ;
}
Console.WriteLine(sb.ToString());
実際の例: http://rextester.com/HBK80648