2016-04-07 21 views
2
var string = 'Animation/rawr/javascript.js' 

//expected output 
// ['Animation/', 'rawr/', 'javascript.js'] 

この文字列を正しく分割することができません。これについて何か助けてもらえますか?あなたが''.match()代わりのsplitを使用して、正規表現でそれを行うことができます分割文字列をJavascriptで区切って区切り文字を保持する/

のstring.Split(/(/)/)

答えて

5

var str = 'Animation/rawr/javascript.js'; 
var tokens = str.match(/[^\/]+\/?|\//g); 

最初の部分[^\/]+\/?マッチ多くの非前方には、それをスラッシュとして任意に、/が続くことができる。 2番目の部分\/(または:|の後)は、単独のスラッシュと一致します。

0

あなたはそれをsplitしたい場合は、 あなたはその後"/"
を追加する必要があります。 しかし、より効率的な方法は正規表現です。

分割し、その後、 "/" を追加:

var string = 'Animation/rawr/javascript.js'; 
 
var arr = string.split("/"); 
 

 
arr.forEach(function(e, i, a) { 
 
    a[--i] += "/"; 
 
}); 
 

 
document.write(JSON.stringify(arr));

関連する問題