Could someone please helpe with the following. I am trying to extract a string from a string.
I have the following url: https://api.github.com/gists/public?page=2
How can I cut the portion of the string "?page=2" and store it in a variable so that I would have two parts.
var strBase = https://api.github.com/gists/public"
and the page part
var strPage = "?page=2".
Thanks you.
Dave.
Just as a String manipulation:
var urlStr = "https:...?page=2"
var strBase: String
var strPage: String
if let qIndex = urlStr.characters.indexOf("?") {
strBase = urlStr.substringToIndex(qIndex)
strPage = urlStr.substringFromIndex(qIndex)
} else {
strBase = urlStr
strPage = ""
}Or this is another way preferred by many:
let parts = urlStr.componentsSeparatedByString("?")
strBase = parts[0]
strPage = parts.count >= 2 ? "?" + parts[1] : ""But if you want manipulate it as URL rather than String, you better consider adopting NSURLComponents.
if let urlCompo = NSURLComponents(string: urlStr) {
strPage = urlCompo.query != nil ? "?" + urlCompo.query! : ""
urlCompo.query = nil
strBase = urlCompo.string!
} else {
fatalError("invalid URL")
}