2017-12-23 8 views
-1

私はこの文字列を持っており、私は各ユーザーを取得したいと思います。2つのモチーフ間のすべての出現を取得

私は部分的に取り組んでいます。この機能を使用していますが、私はいくつかの「未定義」のユーザーを持って、最後には欠落しています。

string = '##+##username1##+##username2##+##username3##+##username4'; 
 

 
function listUsers() { 
 

 
    counter = string.split('##+##').length; 
 
    const splitString = string.split("##+##"); 
 
    
 
    for(i=0; i< counter; i++) { 
 
    console.log(splitString[i]); 
 
    //alert(splitString[i]); 
 
    }   
 
} 
 

 
listUsers()

それを行う方法上の任意のアイデアを?

+0

いいえ、これは正常に動作しています。それを再現可能にしてください... –

答えて

0

未定義のユーザーは、分割によって作成された空の文字列です。文字列の先頭に先行文字がないデリミタが存在するためです。

let string = '##+##username1##+##username2##+##username3##+##username4'; 
 
let usernames = string.split('##+##').slice(1); 
 

 
usernames.forEach(u => console.log(u)); 
 

 
// usernames.forEach(alert);

+0

本当に強力な、多くの感謝! – giuseppe

0

あなたは、すべてのユーザー名を取得するためにstring#matchregexを使用することができます。

var string = '##+##username1##+##username2##+##username3##+##username4'; 
 
console.log(string.match(/\w+/g))

関連する問題