fe-interview icon indicating copy to clipboard operation
fe-interview copied to clipboard

[js] 第7天 统计某一字符或字符串在另一个字符串中出现的次数

Open haizhilin2013 opened this issue 5 years ago • 89 comments

第7天 统计某一字符或字符串在另一个字符串中出现的次数

haizhilin2013 avatar Apr 22 '19 20:04 haizhilin2013

function strCount(str, target) {
  let count = 0
  if (!target) return count
  while(str.match(target)) {
    str = str.replace(target, '')
    count++
  }
  return count
}

console.log(strCount('abcdef abcdef a', 'abc'))

linghucq1 avatar May 08 '19 08:05 linghucq1

function substrCount(str, target) {
  let count = 0;
  while (str.includes(target)) {
    const index = str.indexOf(target);
    count++;
    str = str.substring(index + target.length);
  }
  return count;
}

coderfe avatar May 09 '19 05:05 coderfe

这里找到一个好方法。希望能有用。 function substrCount(str, target) { if(Object.prototype.toString.call(str).slice(8,-1) === 'String' && !str) alert("请填写字符串"); else
return (str.match(new RegExp(target, 'g')).length); }

undefinedYu avatar May 10 '19 02:05 undefinedYu

function getStrTimes(str,rule){
    return rule !=='' && str.match(new RegExp(rule,'g'))? str.match(new RegExp(rule,'g')).length : 0;
}

qqdnnd avatar May 16 '19 09:05 qqdnnd

var childInNums = parent.split(child).length - 1, 这个没毛病吧

Shoryukenbt avatar May 28 '19 08:05 Shoryukenbt

var childInNums = parent.split(child).length - 1, 这个没毛病吧

感觉没毛病

tiyunchen avatar May 31 '19 09:05 tiyunchen

fucntion repeat(str,parentStr){
  return parentStr.split(str).length - 1
}

myprelude avatar Jun 13 '19 08:06 myprelude

// 递归,一行代码实现 function strRepeatCount (subStr, str, count=0) {

return str.indexOf(subStr) !== -1? strRepeatCount(subStr, str.substring(str.indexOf(subStr)+subStr.length), ++count): count;

}

AricZhu avatar Jun 19 '19 00:06 AricZhu

function count(str, param) {
  const reg = new RegExp(param, 'g');
  return str.match(reg).length;
}

bWhirring avatar Jul 03 '19 02:07 bWhirring

const countAppears = (str, target) => {
  let count = 0;

  if (!str || !target) {
    return count;
  }

  const keyIndex = target.indexOf(str);
  if (keyIndex > -1) {
    count = 1 + countAppears(str, target.slice(keyIndex + 1));
  }

  return count;
};

const str = "abcaaadefg2333333333334abcddddea";

console.log(countAppears("2", str));
console.log(countAppears("b", str));
console.log(countAppears("d", str));
console.log(countAppears("a", str));
console.log(countAppears("f", str));

Konata9 avatar Jul 04 '19 08:07 Konata9

var childInNums = parent.split(child).length - 1, 这个没毛病吧

这个好啊 又简单

poporeki avatar Jul 04 '19 15:07 poporeki

function strFind (str, target) { var lengths = 0 if (!target) { return lengths } while(str.match(target)) { str = str.replace(target, '') lengths++ } return lengths } var str = "你好 萨达所大所多所多所问问二位无 你好 萨达所大所多 你好" strFind(str, "你好")

15190408121 avatar Jul 05 '19 03:07 15190408121

var childInNums = parent.split(child).length - 1, 这个没毛病吧

这个真心不错

taiyangxingchen avatar Jul 10 '19 07:07 taiyangxingchen

const countString = (str, chars) => (
  (arr = str.match(new RegExp(chars, 'g'))), arr && chars ? arr.length : 0
)

shufangyi avatar Jul 18 '19 06:07 shufangyi

fucntion repeat(str,parentStr){
  return parentStr.split(str).length - 1
}

function 关键字写错了

pythonqi avatar Jul 24 '19 06:07 pythonqi

function getCount1(str, target,count = 0 ) { var index = str.indexOf(target); if(index!== -1){ return getCount1(str.substring(index+target.length),target,++count) }else { return count; } }

wyx2014 avatar Jul 24 '19 09:07 wyx2014

function getTargetCount(arr, target) {
  return arr
    .reduce((group, v) => group.set(v, (group.get(v) || 0) + 1), new Map())
    .get(target);
}
console.log(getTargetCount([1,1,2,5],1));// 2

Vi-jay avatar Jul 25 '19 08:07 Vi-jay

// 方法1

var str = 'aabbcaacddaabbccdd'
var str2 = 'aa'

const contSvg = (s1,s2) => {
  var arr = [];
  arr = s1.split(s2);
  console.log(arr.length-1);
}

contSvg(str,str2) // 输出3

// 方法2

// eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
const strCount = (str, target) => {
  if (!target) return count
	 return  str.match(eval("/"+target+"/g")).length
}

console.log(strCount('abcd abcde a', 'abc')) // 输出2

wsb260 avatar Jul 31 '19 07:07 wsb260

var childInNums = parent.split(child).length - 1, 这个没毛病吧

哈哈哈哈和你的想法一样

nnnnnnnnnni avatar Aug 20 '19 05:08 nnnnnnnnnni

const letter = "a";
const str = "abcaabccabcaa"
const time = (str, letter) => str.split(letter).length - 1;
console.log(time(str, letter)) // 6

不知道会不会有没有其他特殊情况,这样写的话。。。

J1nvey avatar Sep 05 '19 02:09 J1nvey

function strCount(str, target) {
  let count = 0;
  while (str.includes(target)) {
    str = str.replace(target, "");
    count++;
  }
  return count;
}
function strCount(str, target) {
  return str.split(target).length - 1;
}
console.log(strCount("asdgqwidugasgdakisdggfjwdagasd", "gas"));

JJL-SH avatar Sep 05 '19 09:09 JJL-SH

function count(str, string) {
  return Math.max(0, string.split(str).length - 1);
}

funlee avatar Sep 07 '19 15:09 funlee

‘’aa‘’在“aaabcaaa”中出现几次?如果是两次上述答案没有问题,如果是四次 应该可以用零宽正向断言

function subCount(str,target){
  let matchs = str.match(new RegExp(`(?=${target})`, 'g'))
  return matchs ? matchs.length : 0
}

liaoyf avatar Sep 17 '19 01:09 liaoyf

fucntion repeat(str,parentStr){
  return parentStr.split(str).length - 1
}
function fn(str, substr) {
    if(substr === '') return 0;
    return str.split(substr).length - 1;
}

Daniel-Fang avatar Sep 19 '19 09:09 Daniel-Fang

const subStrTimes = (str, sub) => {
  return Array.from(str.matchAll(sub), m => m[0]).length;
}

JYone223 avatar Sep 23 '19 10:09 JYone223

function getTimes(str1, str2) { if (str2.indexOf(str1) === -1) { return 0; } const arr = str2.splite(str1); return arr.length - 1; }

lijunren avatar Sep 27 '19 02:09 lijunren

var str = 'aabbccabcaabbccabcabc15114816181abc64641414tregfagfczfavacabaaabc6486'; var strArr = str.split('abc')

console.log(strArr.length -1)

username-xu avatar Sep 27 '19 07:09 username-xu

function counter(str, subStr, num = 0, index = 0) {
	let tempIndex = str.indexOf(subStr, index)
    return tempIndex > -1 ? counter(str, subStr, ++num, ++tempIndex) : num
}

mopig avatar Sep 29 '19 11:09 mopig

var childInNums = parent.split(child).length - 1, 这个没毛病吧

👍

censek avatar Oct 08 '19 03:10 censek

function a(x,y) { x = x.split(${y}); return x.length - 1 } a('124awf125awf12awf5','awf')

//'124125125'

wezzzyang avatar Oct 10 '19 14:10 wezzzyang