0
拆分特定的字符串我有這個名字裏面帶分割字符串的問題: 普羅旺斯地區艾克斯如何通過分隔符
字符串的可能性是:
艾克斯普羅旺斯的Test2 Test2-普羅旺斯地區艾克斯
我想用delmiter(' - ')動態地分割字符串以獲得Aix-en-Provence和Test2的分離。
如何?我用Regex.execute嘗試了不同的模式,但不成功。我用Javascript解析數據。
在此先感謝。
問候
拆分特定的字符串我有這個名字裏面帶分割字符串的問題: 普羅旺斯地區艾克斯如何通過分隔符
字符串的可能性是:
艾克斯普羅旺斯的Test2 Test2-普羅旺斯地區艾克斯
我想用delmiter(' - ')動態地分割字符串以獲得Aix-en-Provence和Test2的分離。
如何?我用Regex.execute嘗試了不同的模式,但不成功。我用Javascript解析數據。
在此先感謝。
問候
你可以嘗試這樣的事情:
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"
逃脫正則表達式的特殊字符,但它的工作爲您的字符串。
要做到這一點,除了使用「-',例如」Aix-en-Provence「(或」Test2「)特殊之外,您必須具備一些先進知識。你的代碼是否有這些先進知識?因爲如果沒有,你不能這樣做。 –
取決於你的字符串是什麼。也許正則表達式可以幫助:'input.split(/ - (?! en | Provence)/);' – acdcjunior