Извлечь информацию из строки

-2

У меня есть строки в виде URL-адреса. Строки выглядят так:

http://www.somezwebsite.com/en/someString/xx-38944672

Меня интересует последняя часть URL-адреса, /xx-38944672. Мне нужно извлечь xx между последним / и - который может быть одним или несколькими символами. Мне также нужно извлечь номер 38944672 в этом примере. Номер может также иметь разную длину.

Я думаю, что я смог бы достичь этого, указав индекс последнего/индекса последнего - и индекс последнего символа в строке, затем перейдем к подстрокам. Есть ли более чистый способ сделать это?

  • 0
    разделить, используя '/', а затем в последнем элементе массива (xx-38944672) снова разделить и использовать '-' в качестве разделителя, ваш xx теперь будет первым элементом массива, больше информации в: stackoverflow.com/ вопросы / 25678373 / ...
  • 0
    В любом случае, это регулярное выражение /([^/]+?)-(\d+)
Теги:

3 ответа

0
Лучший ответ

Это можно сделать так:

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
1

Это тот, который вам нужен:

/\w+(?=-)/g

DEMO

0

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)
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню