2016-11-04 9 views
-1

ブラウザでハッシュタグを読み取り、2つの特定のハッシュが存在するかどうかを確認しようとしています。 は次に例を示します。文字列内の#で始まる単語の取得方法

#world#player3#track1 

は、だから私は上記の文字列は、ハッシュタグplayerまたはtrackが含まれているかどうかを確認したい、そしてもしそうなら、それは、これらのハッシュタグを返す必要があります。など

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

[ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

+0

また、この部分を明確にしてください: "上記の文字列がハッシュタグプレーヤーまたはトラックに連絡しているかどうかを確認したい場合は、それらの文字列を返す必要があるので、数字を知ることができます。 – 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] + " "); 
    } 
関連する問題