[解決済み] objective-cでNSURLの一部を取得する
2022-09-16 18:09:44
質問
NSStringで、値が
http://digg.com/news/business/24hr
どうしたら3段目まで全部取れるんですか?
http://digg.com/news/
どのように解決するのですか?
これは正確には第三階層ではありません。URLはそのように分割されます。
-
プロトコルまたはスキーム (ここでは
http
) -
は
://
デリミタ -
ユーザー名とパスワード (ここではありませんが、おそらく
username:password@hostname
) -
はホスト名(ここでは。
digg.com
) -
ポート(これは
:80
になります) -
のパス(ここでは
/news/business/24hr
) - パラメータ文字列(セミコロンに続くもの)。
-
クエリ文字列 (以下のような GET パラメータがあった場合)
?foo=bar&baz=frob
) -
フラグメント(リンクの中にアンカーがある場合、例えば
#foobar
).
完全な機能を備えたURLは次のようになります。
http://foobar:[email protected]:8080/some/path/file.html;params-here?foo=bar#baz
NSURL
には様々なアクセッサがあります。のドキュメントで確認できます。
NSURL
クラス、セクション
URLのパーツにアクセスする
. クイックリファレンス用です。
-
-[NSURL scheme]
= http -
-[NSURL resourceSpecifier]
= (URLの // から末尾までのすべて) -
-[NSURL user]
= foobar -
-[NSURL password]
= nicate -
-[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-here -
-[NSURL query]
= foo=bar -
-[NSURL fragment]
= baz
欲しくなるのは、こんな感じですが。
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]
が返す配列のインデックス 0 の要素は単に "/" ですので、インデックス 1 の要素が必要になります。他のスラッシュは破棄されます)。
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] NSURL を NSString に変換する。
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] NSStringをNSNumberに変換する方法
-
[解決済み] Objective-CのクラスでSwiftのプロトコルをインポートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcodeはクラッシュの原因となる行を表示しない
-
[解決済み] ARCを使用する場合、deallocでプロパティをnilに設定するのですか?
-
[解決済み] Objective-Cでコールバックを実行する方法
-
[解決済み] Objective-Cのセレクタ?
-
[解決済み] NSObject +loadと+initialize - これらは何をするのですか?
-
[解決済み] ARCで__autoreleasing ownership修飾子を記述する必要があるのは、どのような場合ですか?
-
[解決済み] このgdbの出力は何を意味しているのでしょうか?
-
[解決済み] iOSのBackground Threadの起動
-
[解決済み] 別のUIViewの下にあるUIViewとのインタラクションを許可する
-
[解決済み] NSDictionaryにboolean値を追加するにはどうすればよいですか?