objective-c - 用于将 URL 拆分为其组成部分的正则表达式

标签 objective-c ios

我正在寻找一种将 URL 拆分为其组成部分的方法,以便我可以处理每个元素。为什么?因为 URL 是我要专门处理的 iPhone 应用程序中的自定义方案。

例如,如果用户点击 URL 为 myapp://section/?id=123 的链接,我想使用 scheme 后面的字符串作为在我的应用程序中跳转到哪个部分的指示,然后拆分键/值作为向用户显示哪个 subview 的指示。

我猜正则表达式可以解决问题。

最佳答案

这是 NSURL 类及其用法的示例。

NSURL *url = [NSURL URLWithString:@"foo://name.com:8080/12345;param?foo=1&baa=2#fragment"];

NSLog(@"scheme: %@", [url scheme]); 
NSLog(@"host: %@", [url host]); 
NSLog(@"port: %@", [url port]);     
NSLog(@"path: %@", [url path]);     
NSLog(@"path components: %@", [url pathComponents]);        
NSLog(@"parameterString: %@", [url parameterString]);   
NSLog(@"query: %@", [url query]);       
NSLog(@"fragment: %@", [url fragment]);

输出:

scheme: foo
host: name.com
port: 8080
path: /12345
path components: (
    "/",
    12345
)
parameterString: param
query: foo=1&baa=2
fragment: fragment

关于objective-c - 用于将 URL 拆分为其组成部分的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5980514/

相关文章:

iphone - 我们在哪里可以看到 Xcode 4.2 中的 Targets

ios - 清空调度异步队列-此代码如何工作?

ios - 是否可以在故​​事板中自动本地化 UITabBarItem 文本?

ios - 在导航栏上方制作容器 View

ios - 在 UITextView 上以编程方式禁用 iOS8 Quicktype 键盘

objective-c - block 文字是否应该保留引用的堆分配 block

iphone - 将 UIPickerView 添加到 UIActionSheet (底部按钮)

ios - 如何在 iOS 共享扩展中正式处理未经身份验证的用户?

ios - 可以在导航栏中从左向右移动uilabel吗?

ios - UIButton 选定文本未显示选定状态