替换URL中出现的空格

Joy*_*Joy 37 objective-c nsurl nsstring ios

我在iPhone应用程序中有一个URL可供使用.但问题是它在URL中有一些空格.我想用'%20'替换空格.我知道有stringByReplacingOccurencesOfStringstringByAddingPercentEscapesUsingEncoding方法.我也用过它们.但他们不适合我.空格被一些不寻常的值取代.

我正在一个实例上应用这些方法NSString.

Raj*_*Raj 100

从url替换空间的正确格式是:

目标C.

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)

要么

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)

iOS 9及更高版本

NSString *urlString;//your url string.

urlString = [originalUrl stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
Run Code Online (Sandbox Code Playgroud)

斯威夫特:

urlString = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

ios 9及更高版本

urlString = [originalUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
Run Code Online (Sandbox Code Playgroud)

斯威夫特4

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)

Swift 4.2

var urlString = originalString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)


Das*_*oga 9

Swift 2.0

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

输出:

http://myurl.com/my%20photo.png
Run Code Online (Sandbox Code Playgroud)


Gil*_*man 5

雨燕4

使用 ReplaceOccurrences 方法替换空白的另一种方法:

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

这会将空格 (" ") 替换为 '%20'


Jit*_*war 5

要替换SWIFT 3中的出现:

let updatedUrl = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
Run Code Online (Sandbox Code Playgroud)