在 JavaScript 中计算字符串中的位数

计算字符串中的位数

Count the Number of Digits in a String in JavaScript

要计算字符串中的位数,请使用该replace()方法将所有非数字字符替换为空字符串并访问length
结果的属性。
replace方法返回一个替换了匹配项的新字符串。

索引.js
function getCountOfDigits(str) { return str.replace(/[^0-9]/g, '').length; } console.log(getCountOfDigits('12hello34')); // 👉️ 4 console.log(getCountOfDigits('hello')); // 👉️ 0 console.log(getCountOfDigits('hello12.5')); // 👉️ 3

我们使用
String.replace
方法替换了字符串中所有非数字字符,这样我们就可以得到只包含数字的字符串的长度。

我们传递给该replace方法的第一个参数是一个正则表达式,第二个参数是对字符串中结果表达式的每个匹配项的替换。

正斜杠/ /标记正则表达式的开始和结束。

方括号之间的部分[]称为字符类。

插入^符号的意思是“不是以下”,换句话说,我们正在匹配除了0-9.

我们使用g(global) 标志是因为我们想要匹配字符串中出现的所有非数字字符,而不仅仅是第一次出现的字符。

如果您在阅读正则表达式时需要帮助,请查看

来自 MDN的
正则表达式速查表。这是迄今为止最好的。

我们传递给该replace方法的第二个参数是每个匹配项的替换字符串。因为我们要删除所有非数字字符,所以我们提供了一个空字符串。

replace方法不改变原始字符串的内容,它返回一个新的字符串。字符串在 JavaScript 中是不可变的。

总的来说,正则表达式将所有非数字字符替换为空字符串。

索引.js
console.log('hello123'.replace(/[^0-9]/g, '')); // 👉️ 123

最后一步是访问length新字符串的属性,它会为我们提供原始字符串中的位数。