2012-02-23 9 views
1

これは簡単ですが、私が探しているものを正確に見つけることができませんでした。NSURLのドメインを過ぎて掘り起こす?

私が必要とするのは、NSURL(またはそのNSString表現)を取り、スキームとドメインを超えてすべてを取得する能力です。だからhttp://www.google.com/search?&q=cocoaの場合、私は/ searchが必要ですか? & q =ココア。

私は[NSURL relativePath]と[NSURL query]を使用して文字列を共に囲むことができますが、[NSURL query]は疑問符を付けず、私が働いているURLには質問がない私はそれを自分で戻すことはできません。

私が逃したスキームやドメインのすべてを掴む、または私はそれをすべて分離して一緒に戻す必要があるのでしょうか?

答えて

1

これは正規表現などで行うことができますが、この場合はカスタムソリューションが最適かもしれません。

URLが常に「http:// ...」の場合は、最初の7文字の後に最初の「/」を配置し、そこから文字列を取得する必要があります。それとも、ただあなたが「/」NSStringrangeXのいずれかの方法を使用して、そしてあなたがそれを持っていたらsubstringFromIndexメソッドを使用していることの指標を計算することができます...「/」

を第三の位置を特定することができます。

1

URLにパラメータ文字列を示す疑問符がない場合は、すべてのパラメータをパスの一部として返す必要があります。 NSURL‑queryから返品する場合は、のURLの疑問符でなければなりません。

パスの後に来ることができるものは、‑fragment‑parameterStringです。 URLは、基本的には次のように打破:その後、何も疑問符がない

scheme://user:[email protected]:portnumber/path/file.htm;param1;param2?something=other&andmore=more#fragments 

nil戻り‑query場合。

3

正確には[NSURL relativeString]はありませんか?この上の注意の

ワンminor注:

enter image description here

関連する問題