字符串提去数字的个数
给出一个字符串,比如,‘45679912151421’,在这个字符串里计算在3~20之间的数字的个数,结果应该是4,5,6,7,9,9,12,15,14,这9个数字,应该怎么用node js来实现呢???
5 回复
循环字符串 大于 3 直接输出 等于 1 则直接合并下一位,输出 i++ 等于 2 则判断一下一位是否位为 0。为 0 输出20 i++
伪代码
const str = ‘45679912151421’;
for (var i = 0; i < str.length; i++) {
if(str[i] > 3) {
console.log(str[i] );
} else if(str[i] == 1) {
if(i+1 < str.length) {
console.log(str[i],str[i+1] )
i++;
}else{
console.log(str[i] )
}
}else if(str[i] == 2) {
if(str[i+1] == 0){
console.log(str[i],str[i+1] )
i++;
}
}
}
function rangeNum(str, min, max) {
const result = [];
let cur = 0;
for (let i = 0; i < str.length; i++) {
const c = str[i];
const v = c - '0';
const next = cur * 10 + v;
if (next > max || next < min) {
result.push(cur);
cur = v;
} else {
cur = next;
}
}
return result;
}
字符串里面数字怎么比大小, 数字是几位的
const str = '45679912151421'
const reg = /1\d|20|[3-9]/g
const result = str.match(reg) || []
console.log(result)
'45' 是 45 还是4和5