加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

类似PHP的字符串解析

发布时间:2020-12-13 17:48:40 所属栏目:PHP教程 来源:网络整理
导读:我正在编写各种迷你控制台,我正试图弄清楚如何从链接中提取内容.例如,在 PHP中,这是一个请求变量 所以: http://somelink.com/somephp.php?variable1=10u0026amp;variable2=20 然后PHP计算出url参数并将它们分配给变量. 我如何在Swift中解析这样的东西? 所
我正在编写各种迷你控制台,我正试图弄清楚如何从链接中提取内容.例如,在 PHP中,这是一个请求变量
所以:

http://somelink.com/somephp.php?variable1=10u0026amp;variable2=20

然后PHP计算出url参数并将它们分配给变量.

我如何在Swift中解析这样的东西?

所以,给定我想要的字符串:variable1 = 10和variable2 = 20等,有一个简单的方法吗?我试着用Google搜索,但并不知道我在搜索什么.

我有一个非常可怕的hacky方式这样做,但它不是真的可扩展.

解决方法

你想要 NSURLComponents

import Foundation

let urlStr = "http://somelink.com/somephp.php?variable1=10&variable2=20"
let components = NSURLComponents(string: urlStr)

components?.queryItems?.first?.name   // Optional("variable1")
components?.queryItems?.first?.value  // Optional("10")

您可能会发现为查询项添加下标运算符很有帮助:

extension NSURLComponents {
    subscript(queryItemName: String) -> String? {
        // of course,if you do this a lot,// cache it in a dictionary instead
        for item in self.queryItems ?? [] {
            if item.name == queryItemName {
                return item.value
            }
        }
        return nil
    }
}

if let components = NSURLComponents(string: urlStr) {
    components["variable1"] ?? "No value"
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读