这是我需要更改图像位置的示例:
<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
}
函数调用:
答案 0 :(得分:0)
您可以将while循环内的代码更改为此:
let url = URL(fileURLWithPath: String(content[range]))
x = documentsDirectory.appendingPathComponent(url.lastPathComponent)
尽管我不确定您是否只返回一个x(然后为什么要使用while
?)或路径数组(然后该函数应该返回[String]
)。 / p>