Как программно изменить файл изображенияPath? - PullRequest
0 голосов
/ 03 марта 2020

Это пример расположения изображения, которое мне нужно изменить:

<img src="file:///Users/User/Library/Developer/CoreSimulator/Devices/B343D95A-92FD-42E4-B10E-BF85210FBC33/data/Containers/Data/Application/662DCB20-3D51-467C-9968-8CA463304B46/Documents/data/a1a1a1/xyz.gif"

Это то, что я хочу удалить и поместить туда что-то еще: data/a1a1a1/

С помощью функции ниже я успешно удалил эту часть: data/ и поместил туда, что хотел. Работает нормально, потому что данные папки name никогда не меняются.
Проблема Я хочу удалить эту часть сейчас: a1a1a1/, но проблема в том, что a1a1a1 может быть чем угодно, например, это может быть aef54e3a ...
У кого-нибудь есть Идея, как удалить эту часть строки html?

Функция:

 func findSrcs(_ content: String) -> String {
        let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
        let documentsDirectory = paths[0]

        let pattern = #"(?<=src=")[^"]+"#

        var x = content //content is a highlighted string I put above
        var startIndex = content.startIndex
        while let range = content[startIndex...].range(of: pattern, options: .regularExpression) {

                startIndex = range.upperBound
                let c = content.replacingOccurrences(of: "data/", with: "\(documentsDirectory)", options: .literal, range: nil)
                //let d = c.replacingOccurrences(of: "7216444/", with: "", options: .literal, range: nil)
          x = c
        }
        return x
    }

Вызов функции:

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете изменить код внутри while l oop на это:

let url = URL(fileURLWithPath: String(content[range]))
x = documentsDirectory.appendingPathComponent(url.lastPathComponent)

Хотя я не уверен, хотите ли вы вернуть только один x (и тогда зачем использовать while? ) или массив путей (и тогда функция должна вернуть [String]).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...