Как удалить компонент FirstPathComponent для URL? - PullRequest
1 голос
/ 05 августа 2020

Есть ли чистый способ удалить компоненты начального пути из пути к файлу? В начале пути к файлу обычно есть конфиденциальные имена каталогов, такие как имя пользователя: file:///Users/johndoe/Library/Developer/CoreSimulator/Device/F2CD5625-EE71/etc/Application/data.dat

Я бы хотел отредактировать начальный путь и получить что-то вроде: ***/Library/Developer/CoreSimulator/Device/F2CD5625-EE71/etc/Application/data.dat

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

extension URL {

    func deletingFirstPathComponent(_ items: Int = 1) -> URL {
        pathComponents.dropFirst(items) // construct back to URL?
    }
}

Есть ли в Swift что-то, что могло бы больше помочь с этим или лучшим подходом? Любая помощь приветствуется!

1 Ответ

0 голосов
/ 05 августа 2020

Если вам нужна строка для ведения журнала, вы можете использовать регулярное выражение для выбора и замены информации о пользователе

let hidden = url.path.replacingOccurrences(of: #"/Users/\w*/"#, with: "", options: .regularExpression)

Это дает Library /..., но вы, конечно, можете заменить на / *** / или что-то еще

Или работать с некоторыми функциями массива

let removed = url.path.split(separator: "/")[2...].joined(separator: "/")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...