[英]JavaScript: How to pull out a string from a URL using a regular expression
[英]How to find in javascript with regular expression string from url?
晚上好,我如何在javascript中找到帶有url地址的正則表達式字符串,例如我有url: http : //www.odsavacky.cz/blog/wpcproduct/mikronebulizer/並且我只需要最后一個斜杠之間的字符串(/ /) http://something.cz/something/string/在此示例中,我需要的單詞是mikronebulizer。 非常感謝您的幫助。
只是:
url.match(/([^\/]*)\/$/);
應該做。
如果要匹配(可選)不帶斜杠,請使用:
url.match(/([^\/]*)\/?$/);
在此處查看其運行情況: http : //regex101.com/r/cL3qG3
如果您提供了網址,則可以通過以下方式進行操作:
var url = 'http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/';
var urlsplit = url.split('/');
var urlEnd = urlsplit[urlsplit.length- (urlsplit[urlsplit.length-1] == '' ? 2 : 1)];
這將匹配最后一個斜杠之后的所有內容(如果有),否則將匹配倒數第二個和最后一個斜杠之間的部分。
您可以將正則表達式與組配合使用。
用這個:
/([\w\-]+)\/$/.exec("http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/")[1];
這部分: ([\\w\\-]+)
后跟/
然后最后是: $
.exec()返回一個數組,其中第一個值是完全匹配項(即:“ mikronebulizer /”),然后是其后的每個匹配組。
.exec()[1]
返回您的值:mikronebulizer 還有其他需要考慮的問題-是的,純正則表達式方法可能更容易(麻煩,而且更快),但是我想將其包括在內只是為了指出window.location.pathName
。
function getLast(){
// Strip trailing slash if present
var path = window.location.pathname.replace(/\/$?/, '');
return path.split('/').pop();
}
或者,您可以使用split
:
var pieces = "http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/".split("/");
var lastSegment = pieces[pieces.length - 2];
// lastSegment == mikronebulizer
var url = 'http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/';
if (url.slice(-1)=="/") {
url = url.substr(0,url.length-1);
}
var lastSegment = url.split('/').pop();
document.write(lastSegment+"<br>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.