我目前正在使用带有图片网址字符串的api,格式如下:
https://someExampleURL/18px-ImageName.png
“px”之前的数值不一致,因此我想用静态值替换此值以加载相同大小的图像。
我正在考虑按字符“/”和“px”拆分字符串,并将字符串中的数值替换为“100”。什么可能是实现这一目标的最佳策略?
答案 0 :(得分:2)
您使用了这种特定的网址格式,您可以使用components(separatedBy:)
将网址字符串拆分为最后一个/
字符,其余部分由{{{1}出现。 1}}。如果您打算继续使用强制解包,请确保您的网址格式不会改变。
检索图像尺寸后,您可以使用px
将尺寸更改为新值。
String.replacingCharacters(in:,with:)
结果:
答案 1 :(得分:2)
您可以使用正则表达式:
let link = "https://someexampleurl/18px-ImageName.png"
let newLink = link.replacingOccurrences(of: "/\\d+px", with: "/100px", options: .regularExpression)
答案 2 :(得分:1)
你能保证' /'网址中的字符?
'https://someExampleURL/18px-ImageName.png'.split('/')
返回列表
['https:', '', 'someExampleURL', '18px-ImageName.png']
因此,
'https://someExampleURL/18px-ImageName.png'.split('/')[3].split('px')
返回列表
['18', '-ImageName.png']
那是如何打破弦乐的。您所要做的就是替换您想要的位并将其重新连接在一起。