str = str.replace('?dfsdfsf=fdsfd.fdsfds/', 'uploads/')
我想用“?”替换url中的所有内容首先出现'/'之后(包括)'uploads /'
而不是 https://websitename.com/?qqfile=somestrangefilename.jpguploads/d6113e4a-e789-44cd-8ba7-9684d29116dd.jpg 我想得到 https://websitename.com/uploads/d6113e4a-e789-44cd-8ba7-9684d29116dd.jpg答案 0 :(得分:7)
你可以使用正则表达式
str.replace(/\?[^\?\/]*\//, 'uploads/')
答案 1 :(得分:3)
您需要使用正则表达式。
尝试:
str = str.replace(/\?(.+)\//i, 'uploads/');
说明:
\?
查找第一个?
(.+)
查找任何非换行符的数量
\/
找到最后一个/
/i
告诉正则表达式不区分大小写,只是为了很好的衡量。
答案 2 :(得分:2)
var str = '?dfsdfsf=fdsfd.fdsfds/';
str = str.replace(/(\?[^\/]+\/)/, 'uploads/');