[英]Using replace to select part of a URL
您好,我是javascript新手,我需要一些有關正則表達式/替換的幫助
我想以一個網址為例(網址情況1)
或(網址大小寫2)
我想在這種情況下選擇
_t_2680619
忽略“?”之后的所有內容 和之前(下划線)t(下划線)
可以用正則表達式/替換嗎? 我唯一要做的就是選擇僅帶有
var _t__and_number = document.URL.replace(/[^\d]/g, '');
alert(_t__and_number);
但這並不能解決我的問題,如果出現類似URL case 1的情況
(如果即使沒有(underscore)t(underscore),我也只能得到第一個數字,那已經對我有很大幫助。謝謝
onetrickpony / michaelb958:
var _t__and_number = window.location.pathname;
alert(_t__and_number);
ermagana:
var _t__and_number = document.URL.replace(/\?.*/g, '').match(/.*\/(.*)/)[1];
alert(_t__and_number);
第一部分,如情況(1)和(2)
var s = '//url.com/_t_522121?location=50457347';
var n = s.lastIndexOf('/');
var result = s.substring(n + 1);
alert(result);
n = result.indexOf('?');
result = result.substring(0, n);
alert(result);
如onetrickpony所建議,如果這是您當前正在瀏覽的URL,則window.location.pathname
將產生該URL的一部分。
如果您嘗試在最后一個/之后以及?之前提取值。 你可以嘗試這樣的事情
url.replace(/\?.*/g, '').match(/.*\/.*(_t_.*)/)[1]
替換將從?中刪除所有內容。 向前和向前,匹配會創建一組在最后一個正斜杠之后找到的值,然后由索引1訪問
希望這可以幫助。
這是展示效果的jsfiddle : 我的JsFiddle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.