首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换某些路径中的字符串url

替换某些路径中的字符串url
EN

Stack Overflow用户
提问于 2021-02-11 13:49:11
回答 2查看 72关注 0票数 1

我有图像链接

代码语言:javascript
复制
link = "https://ecs7.sandal.net/img/cache/500-square/product-10/2019/6/16/719184/719184_de07958e-9e6b-491a-ae61-2291220be643_1080_1080.jpg"

/img/cache后的路径是图像的大小,大小为500平方。

链接是动态的。但是大小总是在缓存/路径之后。

而其余的链接在大小路径之后是产品文件夹,所以可以忽略它。

500平方对于我想要的图像来说是小的。所以我得换到900或者其他尺寸的。

所以链接将如下所示

代码语言:javascript
复制
https://ecs7.sandal.net/img/cache/900/product-10/2019/6/16/719184/719184_de07958e-9e6b-491a-ae61-2291220be643_1080_1080.jpg

如何用红宝石线代替500平方到900平方?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-11 14:11:58

可以在"/“上拆分字符串。

代码语言:javascript
复制
link_list = link.split("/") 

然后你就可以代替“500平方”了。

代码语言:javascript
复制
link_list[link_list.index("500-square")] = "900" 

然后将它与"/“连接起来。

代码语言:javascript
复制
link = link_list.join("/") 
票数 0
EN

Stack Overflow用户

发布于 2021-02-11 14:59:31

替换整个子字符串

有很多方法可以做到这一点,这取决于您的数据有多大的变化,以及它的良好结构。但是,如果您知道您的链接变量总是希望替换子字符串500-square,那么您可以简单地使用String#sub替换该值。例如:

代码语言:javascript
复制
# replace entire substring
link.sub '500-square', '900'
#=> "https://ecs7.sandal.net/img/cache/900/product-10/2019/6/16/719184/719184_de07958e-9e6b-491a-ae61-2291220be643_1080_1080.jpg"

如果您不想弄乱正则表达式,这就是方法。此外,如果可能有其他可能的匹配,则仍然可以将表达式锚定在URI路径的一部分。例如:

代码语言:javascript
复制
# anchor expression with slashes
link.sub '/500-square/', '/900/'
#=> "https://ecs7.sandal.net/img/cache/900/product-10/2019/6/16/719184/719184_de07958e-9e6b-491a-ae61-2291220be643_1080_1080.jpg"

如果您需要键入其他内容,例如URL或其他属性中的位置,那么您可能需要一个更复杂的解决方案。不过,上面的代码肯定会解决发布的用例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66156009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档