2016-05-05 220 views
0

我想分裂以下值:正如我們看到的,有3個錨,因此我試圖分割字符串

1. var result = stringValue.split("<a/>"); 

2. var myRegexp = new RegExp("<a/>"); 
    var result = stringValue.split(myRegexp); 

var stringValue = "<a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a><a href="/EN/Company/OurOrganisation/Act‌​ionsEN.pdf">EN</a><a href="/FR/Company/OurOrganisation/Act‌​ionsFR.pdf">FR</a>"; 

什麼是最好的正則表達式或如何獲得這3個錨?

+1

那麼,首先你的意思是'',對吧? –

+0

Yesy中法實驗室 - 我的標識爲 「」,但你可以建議更好以及 – user3674148

+0

'VAR stringValue的= 'DEENFR'; stringValue.split(/(= <一)/?);' –

回答

4

這裏是一個純粹的正則表達式的解決方案:

var stringValue = '<a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a><a href="/EN/Company/OurOrganisation/Act‌ionsEN.pdf">EN</a><a href="/FR/Company/OurOrganisation/Act‌ionsFR.pdf">FR</a>'; 
 

 
var ar = stringValue.match(/<a.*?<\/a>/g) 
 

 
console.log(ar)

0

你已經在那裏,只是一個額外的步驟(好吧,也許2)需要

var finalArray = stringValue.split("</a>").filter(function(val){ 
    return val.length > 0; //filter out empty results 
}).map(function(val){ 
    return val + "</a>"; //append "</a>" to the rest of the results 
}) 
0

首先你的字符串包含雙引號("),您應該轉義它們或將其封裝在單引號(')中。

var stringValue = '<a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a><a href="/EN/Company/OurOrganisation/Act‌​ionsEN.pdf">EN</a><a href="/FR/Company/OurOrganisation/Act‌​ionsFR.pdf">FR</a>'; 

var result = stringValue.split("</a>") 
      .filter(function(item) { 
        return item ? true : false; 
       }) 
       .map(function(item) { 
        return item + '</a>'; 
       }); 
1

你可以用積極的前瞻主張得到拆分位置

var stringValue = '<a href="/DE/Company/OurOrganisation/ActionsDE.pdf">DE</a><a href="/EN/Company/OurOrganisation/Act‌​ionsEN.pdf">EN</a><a href="/FR/Company/OurOrganisation/Act‌​ionsFR.pdf">FR</a>'; 
 

 
var res = stringValue.split(/(?=<a.*?<\/a>)/); 
 

 
console.log(res);

Regex explanation

Regular expression visualization