私はhttp://aaa/bbb/ccc/ddd/eeeのようにURLを分割する方法を探しています。URLのパスにサブディレクトリを取得する方法は?
「ccc」を取得するにはどうすればよいですか?もちろんそれを分割することは可能ですが、それは興味深いものではありません。
私はhttp://aaa/bbb/ccc/ddd/eeeのようにURLを分割する方法を探しています。URLのパスにサブディレクトリを取得する方法は?
「ccc」を取得するにはどうすればよいですか?もちろんそれを分割することは可能ですが、それは興味深いものではありません。
Uri myuri = new Uri("http://aaa/bbb/ccc/ddd/eee");
String str= myuri.Segments[myuri.Segments.Length-3];
これはC#で手に入る最もエレガントな方法だと思います。
EDIT:
実はあなたも同じ結果が得られ、ここでmyuri.Segments[2]
で行くことができます。このコードは結果として"ccc/"
を返しますので、"ccc"
を取得したい場合は、これもまた(エレガントな)方法で行くことができます。
String str= myuri.Segments[myuri.Segments.Length-3].TrimEnd('/');
+1は、それよりはるかにエレガントなことはできません...私は理解していませんなぜあなたは 'myuri.Segments [1]'を取るのではなく、最後から数え始めます。 –
myuri.Segments [2]は同じ結果を与えています。私はいつもUriの最後の部分をキャッチする必要があったので、それは習慣のようです:) –
作者が実際には "ccc /" 'の代わりに' 'ccc ''が必要だった場合は、 'str = str.TrimEnd('/' ); '上記のコードに。または、 'System.Web'アセンブリが参照されている場合は、' str = VirtualPathUtility.RemoveTrailingSlash(str); 'を実行することができます。 – BACON
パターンは一致しますか? URLの3番目の部分を言ってください? – JaredPar
'string answer =" ccc "'可能な限りエレガントです。今真剣に、その要素を見つける方法とあなたのURLがどのようなバリエーションであるかについて、より多くの情報を提供してください。 –
なぜ文字列を分割するのが「面白い」べきですか?トローリングが簡単なことを複雑にすることは、ピアツーピアを駆り立てる素晴らしい方法です。偶発的な複雑さについて読んで注意してください。 – gordy