如何以编程方式更改图像文件路径?
Posted
技术标签:
【中文标题】如何以编程方式更改图像文件路径?【英文标题】:How to change image filePath programmatically? 【发布时间】:2020-03-03 09:58:24 【问题描述】:这是我需要更改的图像位置示例:
<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】:你可以把while循环里面的代码改成这样:
let url = URL(fileURLWithPath: String(content[range]))
x = documentsDirectory.appendingPathComponent(url.lastPathComponent)
虽然我不确定您是否只想返回一个 x(那么为什么要使用 while
?)或一组路径(然后函数应该返回 [String]
)。
【讨论】:
以上是关于如何以编程方式更改图像文件路径?的主要内容,如果未能解决你的问题,请参考以下文章