0

我在使用此名称拆分字符串时遇到问题:Aix-en-Provence

字符串的可能性是:

Aix-en-Provence-Test2 Test2-Aix-en-Provence

我想用分隔符('-')动态拆分字符串以分离 Aix-en-Provence 和 Test2。

如何?我正在尝试使用不同模式的 Regex.execute 但不成功。我正在用 Javascript 解析数据。

提前致谢。

此致

4

1 回答 1

0

You can try something like this:

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');

The function is far from perfect, you should escape regex special chars from "protectString" but it does the job for your strings.

于 2013-09-27T21:33:11.257 回答