2016-03-06 61 views
1

如何從JavaScript中的以下字符串中提取文本'androiddev'?如何修剪和拆分Url字符串

https://www.reddit.com/r/androiddev/comments/49878b/droidcon_sf_is_11_days_away/ 

我試着從後面修剪它,但我仍然卡在前面部分。

一直呆在這裏幾個小時了,真的很感謝任何幫助!

+1

'String.prototype.trim()'是現代可用瀏覽器。 – Pointy

+0

@Pointy,但這不僅是當兩邊都有空白時? –

+0

'var value ='yourstring'.split('/')[4]' –

回答

1

方便快捷:)

var value = 'yourstring'.split('/')[4] 
+0

太好了,謝謝! :) –

+0

解決方案我已經發布9分鐘前:) – isvforall

+0

@isvforall查看問題部分的第三條評論:) –

0

使用substr字符串函數:

var s = "https://www.reddit.com/r/androiddev/comments/49878b/droidcon_sf_is_11_days_away/"; 
var ss = s.substr(25, 10); 
alert(ss); 

其中第一個參數是什麼索引位置開始在提取,二是有多少個字符。提取。

小提琴:https://jsfiddle.net/h8afc3pt/

+0

難道你只是討厭它,當一些熱心的Stack Overflow用戶覺得需要投票正確的答案,因爲他們覺得他們的答案是更正確的? –

+0

我不會downvote,但我認爲字符串可能會有不同的長度 – isvforall

+0

是的,當然不同的字符串會有不同的長度,但我的答案顯示如何提取一個子字符串,無論您正在使用什麼字符串,這是相關的。 –

0
var str = "https://www.reddit.com/r/androiddev/comments/49878b/droidcon_sf_is_11_days_away/" 
var name = str.split('/')[4] 
console.log(name);// androiddev 
+0

在這種情況下,這是一個很好的解決方案,斜線很好地劃定了所需的數據。如果數據不是很好地包含,可能不是最好的解決方案。 –

+1

完美,謝謝! :) –

0

當然,你可以只是/分裂整個網址,但總的來說,我發現它更安全,打破網址爲已知的部分,然後從這些中提取信息。

這裏是一種偷偷摸摸的方式做URL解析在瀏覽器

function parseUrl(url) { 
    var elem = document.createElement('a'); 
    elem.href = url; 
    return { 
    protocol: elem.protocol, 
    host:  elem.host, 
    hostname: elem.hostname, 
    port:  elem.port, 
    pathname: elem.pathname, 
    hash:  elem.hash 
    }; 
} 

然後你可以使用它像這樣

var url = "https://www.reddit.com/r/androiddev/comments/49878b/droidcon_sf_is_11_days_away/" 
parseUrl(url).pathname.split('/')[2]; // "androiddev"