繁体   English   中英

swift-字符串中的子字符串

[英]swift - substring from string

我有一些网址字符串,例如:

让url1 =“ https:// abc / help?user_info_id = 5#help-article03

让url2 =“ https:// cde?user_info_id = 455&artical = 4

让url3 =“ https:// ghi / help?user_info_id = 5

现在,我想从这些URL中获取user_info_id。

url1返回5,url2返回455,url3返回5

这是我的代码

func getID(string: String) -> String {
    let range = string.rangeOfString("user_info_id=")
    guard let endIndex = range?.endIndex else { return "" }
    let remain = string.substringFromIndex(endIndex)

    let num = "0123456789"
    var result = ""
    for c in remain.characters {
        if num.containsString(String(c)) {
            result.append(c)
        } else {
            break
        }
    }
    return result
}

请告诉我你的想法。 谢谢!

使用(NS)URLComponents并过滤查询项:

let url1 = "https://cde?user_info_id=455&artical=4"
if let components = NSURLComponents(string: url1),
  let queryItems = components.queryItems,
  let userInfoId = queryItems.filter({$0.name == "user_info_id"}).first where userInfoId.value != nil {
  print(userInfoId.value!)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM