2013-09-27 75 views
0

拆分特定的字符串我有這個名字裏面帶分割字符串的問題: 普羅旺斯地區艾克斯如何通過分隔符

字符串的可能性是:

艾克斯普羅旺斯的Test2 Test2-普羅旺斯地區艾克斯

我想用delmiter(' - ')動態地分割字符串以獲得Aix-en-Provence和Test2的分離。

如何?我用Regex.execute嘗試了不同的模式,但不成功。我用Javascript解析數據。

在此先感謝。

問候

+4

要做到這一點,除了使用「-',例如」Aix-en-Provence「(或」Test2「)特殊之外,您必須具備一些先進知識。你的代碼是否有這些先進知識?因爲如果沒有,你不能這樣做。 –

+0

取決於你的字符串是什麼。也許正則表達式可以幫助:'input.split(/ - (?! en | Provence)/);' – acdcjunior

回答

0

你可以嘗試這樣的事情:

function mySplit(myString, splitString, protectString){ 
    var specialString = 'somespecialchar'; 
    var r = new RegExp('(^|-)('+protectString+')(-|$)'); 
    var a = myString.replace(r, '$1'+specialString+'$3').split('-'); 
    a.forEach(function(e, i, a){ 
     if (e == specialString) a[i] = protectString; 
    }); 
    return a; 
} 
mySplit('Aix-en-Provence-Test2', '-', 'Aix-en-Provence'); 
mySplit('Test2-Aix-en-Provence', '-', 'Aix-en-Provence'); 

功能是遠遠不夠完善,應該從"protectString"逃脫正則表達式的特殊字符,但它的工作爲您的字符串。

相關問題