web-dev-qa-db-fra.com

Remplacer les occurrences d'espace dans l'URL

J'ai une URL dans une application iPhone pour travailler. Mais le problème est qu'il y a quelques espaces dans l'URL. Je souhaite remplacer les espaces par «% 20». Je sais qu'il existe les méthodes stringByReplacingOccurencesOfString et stringByAddingPercentEscapesUsingEncoding. Je les ai aussi utilisés. Mais ils ne travaillent pas pour moi. Les espaces sont remplacés par des valeurs inhabituelles.

J'applique ces méthodes sur une instance de NSString.

27
Joy

Le format correct pour remplacer l'espace à partir de l'URL est le suivant:

Objectif c

NSString *urlString;//your url string.

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

ou

urlString = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

iOS 9 et ultérieur

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

Rapide :

var originalUrl = "https://google.com"
var urlString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

iOS 9 et plus tard

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

Swift 4

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

Swift 4.2

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

Swift 2.0

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

Sortie:

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

Pour remplacer l'occurrence dans Swift 3 :

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

Swift 4

Une autre façon de remplacer un espace vide par la méthode replacementOccurrences:

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

Cela remplacera l'espace vide ("") par '% 20'

4
Gilad Brunfman

var urlString: String = originalUrl.addingPercentEncoding (withAllowedCharacters: NSCharacterSet.urlQueryAllowed)!

0
samaujs