2016-11-04 16 views
-1

我正在嘗試閱讀瀏覽器中的hashtags,並檢查是否存在兩個特定的哈希值。 下面是一個例子:如何讓字以字符串中的#開始

#world#player3#track1 

所以,我要檢查,如果上面的字符串包含主題標籤playertrack,如果是這樣的話,就應該返回的主題標籤。

如:player3track1

我試着用下面的代碼來實現它,但它不工作:

var str = "#player1#track2" 
if (str.length > 0 && str.indexOf("player") >= 0) { 
    var player = str.substr(str.indexOf("player"), str.indexOf("#")); 
    var track = str.substr(str.indexOf("track"), str.indexOf("#")); 
    console.log(player + "" + track); 
}; 

任何想法如何實現這一目標?

+0

請閱讀[問]。重要短語:「搜索和研究」和「解釋......阻止你自己解決它的任何困難」。 –

+0

此外,請澄清這部分:「所以我想檢查上面的字符串是否與hashtags播放器或軌道聯繫,如果是,它應該返回那些字符串,以便我可以知道他們的數字。」 – pfernandom

+0

@MikeMcCaughan,EDITED。我沒有在第一位添加我的代碼的原因是它沒有接近我想要實現的目標。 – DannyBoy

回答

1

使用正則表達式來匹配後跟任意數字的哈希標籤前綴。

var str = "#player1#track2" 
 
var player = str.match(/#player\d+/); 
 
player = player ? player[0] : ""; 
 
var track = str.match(/#track\d+/); 
 
track = track ? track[0] : ""; 
 
console.log(player + track);

1

如果你有幾個 「播放器」 或 「軌跡」 主題標籤?在這種情況下,我想你可能想要這樣的東西:

var strings = str.split('#'); 
for (var i = 0; i < strings.length; i++) { 
    if (strings[i].indexOf("player") >= 0 || strings[i].indexOf("track") >= 0) 
     console.log(strings[i] + " "); 
    } 
相關問題