[英]How to extract a string between a forward slash
我有这个网址: https : //www.tripadvisor.com/img/cdsi/img2/ratings/traveler/3.5-27451-5.png
我正在尝试捕获值“ 3.5”,该值位于最后一个正斜杠之后和第一个破折号之前。
我以为可以通过以下方式实现它:
‘/img/cdsi/img2/ratings/traveler/3.5-27451-5.png'.split('/').pop().split(‘-‘).shift();
但是没有运气。 任何帮助将非常感激。 我怎样才能做到这一点?
您使用了错误的引号。
更改:
‘/img/cdsi/img2/ratings/traveler/3.5-27451-5.png'.split('/').pop().split(‘-‘).shift();
^ ^ ^
至:
'/img/cdsi/img2/ratings/traveler/3.5-27451-5.png'.split('/').pop().split('-').shift();
您可以使用正则表达式捕获它。
用正则表达式...
点( .
)代表任何字符
\\w
代表字母数字字符(a到z,A到Z和0到9)和下划线( _
)
加号( +
)表示至少一个字符
.+
至少一个字符一次,[az]+
一个至z至少一次,\\w+
任何字母数字字符至少一次。
( ?
)阻止正则表达式变得贪婪
( -
)只是URL中应该存在的一个简单字符
在这里,我们分为三个部分:
。+ / :捕获到https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/
(。+?) :捕获3.5
-。+ :捕获-27451-5.png
var url = "https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/3.5-27451-5.png"; //regular expression var reg = new RegExp('.+/(.+?)-.+'); //executes your regular expression var res = reg.exec(url); // result will be captured in res[1] console.log(res[1]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.