Skip to content

434. 字符串中的单词数

js
;(function () {
  /**
   * 434. 字符串中的单词数
   * 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。
   * 请注意,你可以假定字符串里不包括任何不可打印的字符。
   *
   * 输入: "Hello, my name is John"
   * 输出: 5
   * 解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1 个单词。
   *
   */

  function countSegments(s: string): number {
    // 方法一:
    let regS = /^\s+/
    let regE = /\s+$/
    // 去掉开头、结尾空格
    s = s.replace(regS, '').replace(regE, '')
    if (!s) return 0
    let reg = /\s+/g
    // 以空格进行截取,返回数组长度
    return s.split(reg).length
  }

  const s1 = 'Hello, my        name is John'
  const s2 = '                '
  console.log(countSegments(s1))
  console.log(countSegments(s2))
})()