我在 iPhone 应用程序中有一个可以使用的 URL。但问题是它在 URL 中有一些空格。我想用 '%20' 替换空格。我知道有stringByReplacingOccurencesOfString
andstringByAddingPercentEscapesUsingEncoding
方法。我也用过它们。但他们不为我工作。空格被一些不寻常的值替换。
我将这些方法应用于NSString
.
我在 iPhone 应用程序中有一个可以使用的 URL。但问题是它在 URL 中有一些空格。我想用 '%20' 替换空格。我知道有stringByReplacingOccurencesOfString
andstringByAddingPercentEscapesUsingEncoding
方法。我也用过它们。但他们不为我工作。空格被一些不寻常的值替换。
我将这些方法应用于NSString
.
从 url 替换空格的正确格式是:
斯威夫特 4.2,斯威夫特 5
var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
斯威夫特 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]];
斯威夫特 2.0
let originalUrl = "http://myurl.com/my photo.png"
let urlNew:String = urlReq.stringByAddingPercentEncodingWithAllowedCharacters( NSCharacterSet.URLQueryAllowedCharacterSet())!
输出:
http://myurl.com/my%20photo.png
要替换SWIFT 3中的出现:
let updatedUrl = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)
斯威夫特 4
用 replaceOccurrences 方法替换空白空间的另一种方法:
let yourString = "http://myurl.com/my photo.png"
let urlNew:String = yourString.replacingOccurrences(of: " ", with: "%20").trimmed
这将用 '%20' 替换空白空间 (" ")
斯威夫特 5
var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
Swift 5.3, clear space your string,
let str = " www.test.com "
let trimmed = str.trimmingCharacters(in: .whitespacesAndNewlines)
print(str) // "www.test.com"
希望这会奏效
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 中删除所有类型的空格。
var urlString :String = originalUrl.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed)!
斯威夫特 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)!
斯威夫特 3.1
用 replaceOccurrences 替换空白空间的简单方法:
URL = URL.replacingOccurrences(of: " ", with: "", options: .literal, range: nil)
Swift 4 解决方案。您只需传递一个字符串,它会用 %20 填充空格并将“http://”添加到字符串的开头。好甜!
URL(fileURLWithPath: String)