我想删除网址中/blog/
之后的所有内容,这里是输入:
http://domain-name.com/blog/a-blog-title
http://domain-name.com/blog/
我的正则表达式为\/blog\/.*
,但这也可以删除/blog/
。显然我不想要这个。有没有特定的方法来删除字符而忽略匹配的部分?提前谢谢。
答案 0 :(得分:4)
有几种方法可以做到这一点。这是一个:
var output = "http://domain-name.com/blog/a-blog-title".replace(/\/blog\/.*/, "/blog/")
console.log(output)
也就是说,匹配你想要保留的位和想要丢弃的位,但要替换为你要保留的位而不是空字符串。
您可以通过在正则表达式中引入捕获括号来使替换字符串更通用:
var output = "http://domain-name.com/blog/a-blog-title".replace(/(\/blog\/).*/, "$1")
console.log(output)
答案 1 :(得分:2)
如果输入字符串的结构一致,则可以避免使用正则表达式,只需使用substring()
和lastIndexOf()
。
var str='http://domain-name.com/blog/a-blog-title';
console.log(str.substring(0,str.lastIndexOf("/")+1));
如果您的网址字符串 的结构不同(包括查询字符串或其他内容),请更新您的问题以便清晰。
答案 2 :(得分:0)
试试这个辅助功能:
body
结果:
Ali
M*59*AB
John
M*68*B
Shirley
F*35*B
Peter
M*88*A
Fiona
F*55*O
Mary
F*46*B