2011-01-12 63 views
1

我有一個像這樣的Javascript正則表達式:如何前>和包括刪除字符串>

item[3]>something>another>more[1]>here 
hey>this>is>something>new 
. 
. 
. 

串,我想產生由每個新行

item[3]>something>another>more[1]>here 
something>another>more[1]>here 
another>more[1]>here 
more[1]>here 
here 

表示每次迭代以下又如:

hey>this>is>something>new 
this>is>something>new 
is>something>new 
something>new 
new 

我想正則表達式或某種方式來逐步去除最左的字符串最多>

回答

2

你可以使用String.split()做到這一點:

var str = 'item[3]>something>another>more[1]>here', 
    delimiter = '>', 
    tokens = str.split(delimiter); // ['item[3]', 'something', 'another', 'more[1]', 'here'] 

// now you can shift() from tokens 
while (tokens.length) 
{ 
    tokens.shift(); 
    alert(tokens.join(delimiter)); 
} 

參見:Array.shift()

Demo →

1

要通過迭代的情況下,也許試試這個:

while (str.match(/^[^>]*>/)) { 
    str = str.replace(/^[^>]*>/, ''); 
    // use str 
} 
相關問題