61 votes

Remplacer les occurrences d'espace dans l'URL

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

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

170voto

Raj Points 1740

Le format correct pour remplacer l'espace de l'url est :

Swift 4.2, Swift 5

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

Rapide 4

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

Objectif c

 NSString *urlString;//your url string.

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

ou

 urlString = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

iOS 9 et versions ultérieures

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

9voto

Dasoga Points 2809

Rapide 2.0

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

Sortir:

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

6voto

Jitendra Tanwar Points 211

Pour remplacer l'occurrence dans SWIFT 3 :

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

5voto

Gilad Brunfman Points 2132

Rapide 4

Une autre façon de remplacer un espace vide avec 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'

3voto

Shakeel Ahmed Points 597

Rapide 5

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X