web-dev-qa-db-ja.com

URLに出現するスペースを置き換える

使用するiPhoneアプリケーションにURLがあります。しかし問題は、URLにいくつかのスペースがあることです。スペースを「%20」に置き換えたい。 stringByReplacingOccurencesOfStringメソッドとstringByAddingPercentEscapesUsingEncodingメソッドがあることは知っています。私もそれらを使用しました。しかし、彼らは私のために働いていません。スペースはいくつかの異常な値に置き換えられます。

これらのメソッドをNSStringのインスタンスに適用しています。

39
Joy

URLからスペースを置き換えるための正しい形式は次のとおりです。

Swift 4.2、Swift 5

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

Swift 4

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)

目的C

NSString *urlString;//your url string.

urlString = [originalUrl stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

または

urlString = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

iOS 9以降

urlString = [originalUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
111
Raj

Swift 2.

let originalUrl = "http://myurl.com/my photo.png"
let urlNew:String = urlReq.stringByAddingPercentEncodingWithAllowedCharacters( NSCharacterSet.URLQueryAllowedCharacterSet())! 

出力:

http://myurl.com/my%20photo.png
9
Dasoga

Swiftでの出現を置き換えるには:

let updatedUrl = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
5
Jitendra Tanwar

Swift 4

空のスペースをReplaceingOccurrencesメソッドで置き換える別の方法:

let yourString = "http://myurl.com/my photo.png"
let urlNew:String = yourString.replacingOccurrences(of: " ", with: "%20").trimmed 

空のスペース( "")が '%20'に置き換えられます

4
Gilad Brunfman

スウィフト5

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
1
Shakeel Ahmed

これがうまくいくことを願って

let url = "https:youtube.56432fgrtxcvfname=xyz&sname=tuv"
let urlNew:String = url.replacingOccurrences(of: " ", with: "%20")
Alamofire.request(urlNew, method: .get, headers: headers).responseJSON{
response in
print(response)    
}

URLからすべての種類のスペースを削除します。

0
Raghib Arshi
var urlString :String = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)!
0
samaujs

A Swift 4ソリューション。文字列を渡すだけで、スペースが%20で埋められ、文字列の先頭に "http://"が追加されます。かなり甘いです!

URL(fileURLWithPath: String) 
0
KDiaz