2017-10-09 20 views
-1

myapp://jhb/test/deeplink/url?id=4567のようなURLがあります。 ? charの後にすべてのものを削除したいと思います。最後に、URLはmyapp://jhb/test/deeplink/urlのようになります。どうやって。私はそれを達成することはできますか? URLを文字列に変換しますか?正規表現?スワイプでURLからパラメータを削除

+0

こちらをご覧くださいhttps://stackoverflow.com/questions/39184984/delete-all-characters-after-a-a-character-from-a-string-in-swift –

答えて

0

あなたはそれが?で文字列を分割し、配列を返します。この

let values = utl?.components(separatedBy: "?")[0] 

のように行うことができます。 valuesの最初のオブジェクトは、結果の文字列を返します。

0

あなたは、異なるURL部分を分離し、それらを操作して、新しいURLを抽出するために使用URLComponents

print("\(url.host!)") //Domain name 
print("\(url.path)") // Path 
print("\(url.query)") // query string 
0

を使用してURLから分離された各URLのコンポーネントを取得することができます。

var components = URLComponents(string: "myapp://jhb/test/deeplink/url?id=4567")! 
components.query = nil 
print(components.url!) 

myapp://jhb/test/deeplink/url

0

私はそれを達成できますか? URLを文字列に変換しますか?正規表現? URLを操作するとき、URLComponentとして扱う方が良いでしょう

にURLを解析し、その の構成部品からURLを構築した構造。

if var componenets = URLComponents(string: "myapp://jhb/test/deeplink/url?id=4567") { 
    componenets.query = nil 

    print(componenets) // myapp://jhb/test/deeplink/url 
} 

queryはそれがnil可能性を意味オプション文字列、(であること:ので、あなたが求めているものURLComponentを参照すると、URLからqueryサブコンポーネントを削除する

ですコードスニペットで述べたように、あなたの望む出力につながるはずです)。

関連する問題