У меня есть строки в виде URL-адреса. Строки выглядят так:
http://www.somezwebsite.com/en/someString/xx-38944672
Меня интересует последняя часть URL-адреса, /xx-38944672
. Мне нужно извлечь xx
между последним /
и -
который может быть одним или несколькими символами. Мне также нужно извлечь номер 38944672
в этом примере. Номер может также иметь разную длину.
Я думаю, что я смог бы достичь этого, указав индекс последнего/индекса последнего - и индекс последнего символа в строке, затем перейдем к подстрокам. Есть ли более чистый способ сделать это?
Это можно сделать так:
let urlString = "http://www.somezwebsite.com/en/someString/xx-38944672"
let str = urlString.components(separatedBy: "/").last
let firstSring = str?.components(separatedBy: "-").first
let secondString = str?.components(separatedBy: "-").last
URL
ключевого слова подразумевает часть решения
Код берет последний путь компонент URL и разделяет значение в две части -
символ:
let url = URL(string:"http://www.somezwebsite.com/en/someString/xx-38944672")!
let components = url.lastPathComponent.components(separatedBy: "-")
if components.count == 2 {
let firstPart = components[0]
let secondPart = components[1]
print(firstPart, secondPart)
}
/([^/]+?)-(\d+)