/**
* js split函数应用举例
* 允许字符串分割中带有分割符
* edit www.jquerycn.cn 2013/6/4
*/
var str = "{0}-abc##测试-2sd##afasdf#测试AAA测试CCC";
var data = "测试";
str = Split(str, data);
alert(str[str.length - 1]);
function Split(str, data) {
var reg = new RegExp("(#+" + data + "|" + data + ")", "g");
var lastIndex = 0;
var list = [];
var replaceReg = new RegExp("(#" + data + ")", "g");
while (true) {
var exec = reg.exec(str);
if (null == exec)
break;
var start = exec[0].match(/#+/g);
if (null != start &&
1 == start[0].length % 2) {
continue;
}
var splitIndex = exec[0].match(/([^#].*)/);
var txt = str.substring(lastIndex, exec.index + splitIndex.index).replace(replaceReg, data).replace(/##/g, "#");
list.push(txt);
lastIndex = exec.index + exec[0].length;
}
if (lastIndex < str.length) {
var txt = str.substr(lastIndex).replace(replaceReg, data).replace(/##/g, "#");
list.push(txt);
}
return list;
}