繁体   English   中英

如何在正斜杠之间提取字符串

[英]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();

您可以使用正则表达式捕获它。

用正则表达式...

  1. 点( . )代表任何字符

  2. \\w代表字母数字字符(a到z,A到Z和0到9)和下划线( _

  3. 加号( + )表示至少一个字符

    .+至少一个字符一次, [az]+一个至z至少一次, \\w+任何字母数字字符至少一次。

  4. ? )阻止正则表达式变得贪婪

  5. - )只是URL中应该存在的一个简单字符

在这里,我们分为三个部分:

  1. 。+ / :捕获到https://www.tripadvisor.com/img/cdsi/img2/ratings/traveler/

  2. (。+?) :捕获3.5

  3. -。+ :捕获-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM