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

我将这些方法应用于NSString的实例.

推荐答案

从url替换空格的正确格式为:

Swift 4.2 , Swift 5

var urlString = 或iginalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

Swift 4

var urlString = 或iginalString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)

Objective C

NSString *urlString;//your url string.

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

urlString = [或iginalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

iOS 9及更高版本

urlString = [或iginalUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

Objective-c相关问答推荐

OCUnit 的单元测试示例

如何测试 NSCFBolean 值?

如何声明仅调试语句

表达式不可分配 - 将浮点数分配为 Xcode 中其他两个浮点数的总和时出现问题?

在子类中覆盖init

处理 ARC 中的指针对指针所有权问题

在 Objective-C 中在 iPhone 上使用 HTTP POST 和 GET 的教程

右对齐的 UITextField 空格键在 iOS 7 中不前进光标

UITextField 中的文本在编辑后向上移动(编辑时居中)

带有 AVPlayer 的多个视频

UITableView configureCellForDisplay:forIndexPath 中的断言失败:

Objective-C 的 NSMutableArray 是线程安全的吗?

从 NSString 中删除换行符

Xcode 在您的 keys 串中找不到此配置文件的有效私有证书/有效密钥对

如何在 Objective C 中将浮点数转换为 int?

如何从设置屏幕打开位置服务屏幕?

@class 在 Objective-C 中做了什么?

NSMutableArray addObject 不起作用

通过点击状态栏滚动到 UITableView 的顶部

字符串常量和字符串文字有什么区别?