如何以编程方式更改图像filePath?

时间:2020-03-03 09:58:24

标签: html ios swift string split

这是我需要更改图像位置的示例:

<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 :(得分:0)

您可以将while循环内的代码更改为此:

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

尽管我不确定您是否只返回一个x(然后为什么要使用while?)或路径数组(然后该函数应该返回[String])。 / p>