使用 Javascript 计算字符串中仅字符(不是符号)的字符串长度

Calculate the string length of only characters (not symbols) in the string using Javascript

我正在尝试 select 仅根据字符长度忽略符号通过 IF 语句传递的单词。

例如如果我有单词“你好!”我希望 if 语句将其识别为 5 个字符的长度。

我想在将符号添加到 updatedString 时将其保留在单词中。我只是不想在原始计数中计算符号。我花了一段时间考虑正则表达式选项,但正在努力寻找适合这种特殊情况的方法。

部分代码示例如下。 (updatedString 在 if 循环外声明)

 for (let word in arr) {
   if (arr[word].length == 5 || arr[word].length == 6) {
      let bold = arr[word].slice(0, 3)
      let normal = arr[word].slice(3)
      updatedString += `<b>${bold}</b>${normal} ` 
    }
   else if {
   ...
  }
 }

我最终想要的是“arr[word].length == 5”区域只计算字符。

为了这个程序,我假设所有通过用户输入的词都是普通新闻或学术文章中使用的词,没有太晦涩的词。

任何建议将不胜感激,谢谢。

您可以像这样使用正则表达式:

text = "hello!"
text.match(/[a-z]/g).join("") // join to return a string without any symbols

如果您需要匹配更多字符,只需更新模式即可。

在您的特定情况下,它看起来像这样:

for (let word in arr) {
    if (arr[word].match(/[a-z]/g).length == 5 || arr[word].match(/[a-z]/g).length == 6) {
        let bold = arr[word].slice(0, 3)
        let normal = arr[word].slice(3)
        updatedString += `<b>${bold}</b>${normal} ` 
    }else if (/* [...] */) {
        // [...]
    }
}