値が
http://digg.com/news/business/24hr
第3レベルの前にすべてを取得するにはどうすればよいですか?
http://digg.com/news/
値が
http://digg.com/news/business/24hr
第3レベルの前にすべてを取得するにはどうすればよいですか?
http://digg.com/news/
これは正確に第3レベルではありません、気をつけてください。URLは次のように分割されます。
http)://文字username:password@hostname)digg.com):80たとえば、ドメイン名の後になります)/news/business/24hr)?foo=bar&baz=frob)#foobar)。「完全な機能を備えた」URLは次のようになります。
http://foobar:nicate@example.com:8080/some/path/file.html;params-here?foo=bar#baz
NSURL幅広いアクセサがあります。NSURLクラスのドキュメントのセクション「URLの一部へのアクセス」でそれらを確認できます。クイックリファレンス:
-[NSURL scheme]= http-[NSURL resourceSpecifier]=(//からURLの末尾までのすべて)-[NSURL user]= foobar-[NSURL password]=ニケート-[NSURL host]= example.com-[NSURL port]= 8080-[NSURL path]= /some/path/file.html-[NSURL pathComponents]= @ ["/"、 "some"、 "path"、 "file.html"](最初の/はその一部であることに注意してください)-[NSURL lastPathComponent]= file.html-[NSURL pathExtension]= html-[NSURL parameterString]=params-ここ-[NSURL query]= foo = bar-[NSURL fragment]=バズただし、必要なのは次のようなものです。
NSURL* url = [NSURL URLWithString:@"http://digg.com/news/business/24hr"];
NSString* reducedUrl = [NSString stringWithFormat:
@"%@://%@/%@",
url.scheme,
url.host,
url.pathComponents[1]];
サンプルURLの場合、必要と思われるのはプロトコル、ホスト、および最初のパスコンポーネントです。(によって返される配列のインデックス0の要素-[NSString pathComponents]は、単に「/」であるため、インデックス1の要素が必要になります。他のスラッシュは破棄されます。)