2010-08-09 82 views
19

我在iPhone應用程序中使用了一個URL。但問題是它在URL中有一些空格。我想用'%20'替換空格。我知道有stringByReplacingOccurencesOfStringstringByAddingPercentEscapesUsingEncoding方法。我也用過它們。但他們不適合我。空間被一些不尋常的值取代。替換URL中空格的出現

我將這些方法應用於NSString的實例。

+0

你能發表一個代碼示例嗎? – 2010-08-09 12:44:01

+3

看看這篇文章:http:// stackoverflow。com/questions/695911 /問題關於字符的nsstring-invalid-in-url-on-iphone答案:NSString * escapedUrl = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; – Tieme 2011-06-12 18:23:50

回答

61

從網址替換空間的正確格式爲:

目標C

NSString *urlString;//your url string. 

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

urlString = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

的iOS 9和更高

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

夫特:

var originalUrl = "https://google.co.in" 
var urlString :String = originalUrl.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)! 

IOS 9和更高

var urlString :String = originalUrl.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())! 

夫特4

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

不能在swift中工作 – 2015-03-02 18:51:11

+0

@RaquibulIslam我編輯了我的答案,請現在檢查 – Raj 2015-03-19 15:00:30

+1

我認爲stringByReplacingPercentEscapesUsingEncoding()已被棄用。相反,我們可以使用stringByRemovingPercentEncoding – 2016-02-05 04:30:32

9

夫特2.0

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

輸出:

http://myurl.com/my%20photo.png 
1

夫特3

的另一種方法,以取代replacingOccurrences方法的空的空間:

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

這將更換空的空間(」「 )與'%20'

4

要更換occurence在SWIFT 3

let updatedUrl = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) 
-1

SWIFT 3.1

簡單方式與replacingOccurrences更換空的空間:

URL = URL.replacingOccurrences(of: " ", with: "", options: .literal, range: nil) 
-1

夫特4,IOS的9

let **urlSearchVal**:String = "top 10 movies"  
let urlString = 

    "https://www.googleapis.com/youtube/v3/search?part=snippet&q=\(urlSearchVal)&key=......&type=video" 
//replace ...... above with your youtube key 
// to ignoring white space in search 
     let UrlString :String = urlString.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)! 
+0

歡迎來到SO。請提高你的答案質量 – 2017-11-05 02:10:25