我在使用此名称拆分字符串时遇到问题: 艾克斯普罗旺斯
字符串的可能性是:
艾克斯普罗旺斯的Test2 TEST2-艾克斯普罗旺斯
我想用delmiter(' - ')动态分割字符串,以便将Aix-en-Provence和Test2分开。
怎么样?我尝试使用不同模式的Regex.execute但不成功。我在Javascript中解析数据。
提前致谢。
祝你好运
答案 0 :(得分: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"
中逃避正则表达式特殊字符,但它可以完成你的字符串。