正则表达式需求:拆分URL路径并存储至变量
解决URL路径解码与拆分的简单方案
嘿,完全懂正则表达式让人头大的感觉!咱们不用纠结复杂正则,用更简单靠谱的方法就能搞定你的需求,一步步来:
步骤1:解码URL中的%20为空格
其实JavaScript有专门处理URL编码的内置方法decodeURIComponent(),它能自动把所有URL编码的字符(包括%20)转换成对应的普通字符,比自己写正则替换要更准确健壮——比如遇到其他编码字符(像%23对应#)也能自动处理,不用额外调整规则。
步骤2:拆分路径并存入变量
解码后我们可以用split('/')把路径按斜杠分割,再过滤掉开头的空字符串(因为原始路径以/开头,分割后第一个元素是空的),最后就能把拆分后的部分存入独立变量了。
完整代码示例
// 你的原始URL路径 const originalPath = "/this%20is%20part%20one/and%20part%20two"; // 第一步:解码%20为空格 const decodedString = decodeURIComponent(originalPath); // 此时decodedString的值是:"/this is part one/and part two" // 第二步:拆分路径,过滤空元素后提取目标部分 const pathParts = decodedString.split('/').filter(part => part.length > 0); // 存入独立变量 const var1 = pathParts[0]; const var2 = pathParts[1]; // 验证结果 console.log(var1); // 输出:"this is part one" console.log(var2); // 输出:"and part two"
额外提一句:如果非要用正则替换%20的话
如果你就是想试试正则写法,也可以这么实现,但还是更推荐上面的内置方法(更省心):
const decodedWithRegex = originalPath.replace(/%20/g, ' ');
内容的提问来源于stack exchange,提问作者FiringBlanks
相关产品推荐
相关产品推荐

