javascript - 如何计算javascript中一个单词的音节数?

标签 javascript

是否有计算单词中音节数的 javascript 库?怎么算?

谢谢

编辑

感谢 Sydenam 和 zozo 提供的有用信息和可能的答案。

我通过 Pesto at this forum 找到了代码,但它是用 Ruby 编写的。其简明版本之一如下:

def new_count(word)
  word.downcase!
  return 1 if word.length <= 3
  word.sub!(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
  word.sub!(/^y/, '')
  word.scan(/[aeiouy]{1,2}/).size
end 

这看起来很短但很复杂。你能把这个函数翻译成javascript吗? 再次感谢。

最佳答案

翻译成 javascript:

function new_count(word) {
  word = word.toLowerCase();                                     //word.downcase!
  if(word.length <= 3) { return 1; }                             //return 1 if word.length <= 3
    word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '');   //word.sub!(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
    word = word.replace(/^y/, '');                                 //word.sub!(/^y/, '')
    return word.match(/[aeiouy]{1,2}/g).length;                    //word.scan(/[aeiouy]{1,2}/).size
}

console.log(new_count('she'));
console.log(new_count('spain'))
console.log(new_count('softball'))
console.log(new_count('contagion'))

关于javascript - 如何计算javascript中一个单词的音节数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5686483/

相关文章:

java - 从 HTML/JS 迁移到 GWT

php - 如何根据ajax的结果执行不同的js操作?

javascript - Evernote OAuth 登录 Javascript

javascript - 不区分大小写的搜索

javascript - JavaScript 中字符串连接的性能很糟糕?

javascript - 如何只生成一次随机数,并重用其输出?

javascript - 使用 AngularJS 创建导航的最佳选项是什么?

javascript - JavaScript 中的 SUMIF() ?

javascript - Angular JS 转发器 + Bootstrap 轮播

javascript - 在上一个函数完成后立即执行函数(在获取中)