取两个特定字符号之间的值
var str = "231232132@321321@32321321@32131@23"
var str1 = str;
var arr = []
<!-- 获取多少个@作为对应的循环次数 -->
function getnum(str) {
var thisCount = 0;
str.replace(/@/g, function (m, i) {
thisCount++;
});
return thisCount;
}
<!-- 循环获取到两个字符号之间的字符存到数组中 -->
for (var i = 0; i < getnum(str1) / 2; i++) {
function find(str, cha, num) {
var x = str.indexOf(cha);
for (var i = 0; i < num; i++) {
x = str.indexOf(cha, x + 1);
}
return x;
}
<!-- 每次取到第一个的字符号之间的值 -->
var newstr = str.substring(str.indexOf('@') + 1, find(str, '@', 1))
<!-- 存到数组中 -->
arr[i] = newstr;
<!-- 把取到的字符串去掉重新赋值新的 -->
var str = str.substring(find(str, '@', 1) + 1)
}
console.log(arr);