如何通过分隔符拆分特定字符串

时间:2013-09-27 20:51:38

标签: javascript

我在使用此名称拆分字符串时遇到问题: 艾克斯普罗旺斯

字符串的可能性是:

艾克斯普罗旺斯的Test2 TEST2-艾克斯普罗旺斯

我想用delmiter(' - ')动态分割字符串,以便将Aix-en-Provence和Test2分开。

怎么样?我尝试使用不同模式的Regex.execute但不成功。我在Javascript中解析数据。

提前致谢。

祝你好运

1 个答案:

答案 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"中逃避正则表达式特殊字符,但它可以完成你的字符串。