📜  js 字符串包含计数 - Javascript (1)

📅  最后修改于: 2023-12-03 15:32:23.079000             🧑  作者: Mango

JS字符串包含计数 - Javascript

在Javascript中,我们经常需要对字符串进行不同的操作。字符串包含计数是其中一个常见的操作。在本文中,我们将探讨如何计算一个字符串中某个子串出现的次数。

方法一:使用split和length

我们可以使用split方法将字符串拆分为一个数组,并使用数组的length属性计算子串出现的次数。以下是一个示例代码:

function countSubstring(str, subStr){
  return str.split(subStr).length - 1;
}

console.log(countSubstring("hello world, world", "world")); // Output: 2

这段代码中,我们定义了一个名为countSubstring的函数,并传入两个参数:原始字符串和需要计数的子串。在函数内部,我们首先使用split方法将原始字符串拆分为一个数组。我们将数组的长度减去1,是因为我们想要计算子串出现的次数,而不是子串在字符串中出现的位置。

方法二:使用正则表达式

我们可以使用Javascript的正则表达式来计算子串出现的次数。以下是一个示例代码:

function countSubstring(str, subStr){
  var re = new RegExp(subStr, "gi");
  return (str.match(re) || []).length;
}

console.log(countSubstring("hello world, world", "world")); // Output: 2

在这个示例中,我们首先创建了一个RegExp对象,并使用gi标志表示全局和不区分大小写的匹配。然后,我们使用match方法将原始字符串中的所有匹配项存储在一个数组中(如果没有匹配项,则返回一个空数组)。最后,我们返回匹配项数组的长度。

总结

通过split方法或正则表达式,我们可以轻松地计算一个字符串中某个子串出现的次数。两种方法都非常简单而有效,开发人员可以根据自己的需要选择使用哪种方法。在实际编程中,在考虑性能和可读性的情况下,需要进行权衡取舍。