我在使用此名称拆分字符串时遇到问题:Aix-en-Provence
字符串的可能性是:
Aix-en-Provence-Test2 Test2-Aix-en-Provence
我想用分隔符('-')动态拆分字符串以分离 Aix-en-Provence 和 Test2。
如何?我正在尝试使用不同模式的 Regex.execute 但不成功。我正在用 Javascript 解析数据。
提前致谢。
此致
我在使用此名称拆分字符串时遇到问题:Aix-en-Provence
字符串的可能性是:
Aix-en-Provence-Test2 Test2-Aix-en-Provence
我想用分隔符('-')动态拆分字符串以分离 Aix-en-Provence 和 Test2。
如何?我正在尝试使用不同模式的 Regex.execute 但不成功。我正在用 Javascript 解析数据。
提前致谢。
此致
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.