我在iPhone應用程序中使用了一個URL。但問題是它在URL中有一些空格。我想用'%20'替換空格。我知道有stringByReplacingOccurencesOfString
和stringByAddingPercentEscapesUsingEncoding
方法。我也用過它們。但他們不適合我。空間被一些不尋常的值取代。替換URL中空格的出現
我將這些方法應用於NSString
的實例。
我在iPhone應用程序中使用了一個URL。但問題是它在URL中有一些空格。我想用'%20'替換空格。我知道有stringByReplacingOccurencesOfString
和stringByAddingPercentEscapesUsingEncoding
方法。我也用過它們。但他們不適合我。空間被一些不尋常的值取代。替換URL中空格的出現
我將這些方法應用於NSString
的實例。
從網址替換空間的正確格式爲:
目標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)
不能在swift中工作 – 2015-03-02 18:51:11
@RaquibulIslam我編輯了我的答案,請現在檢查 – Raj 2015-03-19 15:00:30
我認爲stringByReplacingPercentEscapesUsingEncoding()已被棄用。相反,我們可以使用stringByRemovingPercentEncoding – 2016-02-05 04:30:32
夫特2.0
let originalUrl = "http://myurl.com/my photo.png"
let urlNew:String = urlReq.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
輸出:
http://myurl.com/my%20photo.png
夫特3
的另一種方法,以取代replacingOccurrences方法的空的空間:
let yourString = "http://myurl.com/my photo.png"
let urlNew:String = yourString.trim().replacingOccurrences(of: " ", with: "%20")
這將更換空的空間(」「 )與'%20'
要更換occurence在SWIFT 3:
let updatedUrl = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
SWIFT 3.1
簡單方式與replacingOccurrences更換空的空間:
URL = URL.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
夫特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)!
歡迎來到SO。請提高你的答案質量 – 2017-11-05 02:10:25
你能發表一個代碼示例嗎? – 2010-08-09 12:44:01
看看這篇文章:http:// stackoverflow。com/questions/695911 /問題關於字符的nsstring-invalid-in-url-on-iphone答案:NSString * escapedUrl = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; – Tieme 2011-06-12 18:23:50