这里是PHP的实现方法,其实在csharp或java中,实现方式都是差不多的。

/** * wirror: pluralize a string * @param $string */ function pluralize( $string ) { $plural = array( array( '/(quiz)$/i', "$1zes" ), array( '/^(ox)$/i', "$1en" ), array( '/([m|l])ouse$/i', "$1ice" ), array( '/(matr|vert|ind)ix|ex$/i', "$1ices" ), array( '/(x|ch|ss|sh)$/i', "$1es" ), array( '/([^aeiouy]|qu)y$/i', "$1ies" ), array( '/([^aeiouy]|qu)ies$/i', "$1y" ), array( '/(hive)$/i', "$1s" ), array( '/(?:([^f])fe|([lr])f)$/i', "$1$2ves" ), array( '/sis$/i', "ses" ), array( '/([ti])um$/i', "$1a" ), array( '/(buffal|tomat)o$/i', "$1oes" ), array( '/(bu)s$/i', "$1ses" ), array( '/(alias|status)$/i', "$1es" ), array( '/(octop|vir)us$/i', "$1i" ), array( '/(ax|test)is$/i', "$1es" ), array( '/s$/i', "s" ), array( '/$/', "s" ) ); $singular = array( array("/s$/", ""), array("/(n)ews$/", "$1ews"), array("/([ti])a$/", "$1um"), array("/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/", "$1$2sis"), array("/(^analy)ses$/", "$1sis"), array("/([^f])ves$/", "$1fe"), array("/(hive)s$/", "$1"), array("/(tive)s$/", "$1"), array("/([lr])ves$/", "$1f"), array("/([^aeiouy]|qu)ies$/", "$1y"), array("/(s)eries$/", "$1eries"), array("/(m)ovies$/", "$1ovie"), array("/(x|ch|ss|sh)es$/", "$1"), array("/([m|l])ice$/", "$1ouse"), array("/(bus)es$/", "$1"), array("/(o)es$/", "$1"), array("/(shoe)s$/", "$1"), array("/(cris|ax|test)es$/", "$1is"), array("/([octop|vir])i$/", "$1us"), array("/(alias|status)es$/", "$1"), array("/^(ox)en/", "$1"), array("/(vert|ind)ices$/", "$1ex"), array("/(matr)ices$/", "$1ix"), array("/(quiz)zes$/", "$1") ); $irregular = array( array( 'move', 'moves' ), array( 'sex', 'sexes' ), array( 'child', 'children' ), array( 'man', 'men' ), array( 'person', 'people' ) ); $uncountable = array( 'sheep', 'fish', 'series', 'species', 'money', 'rice', 'information', 'equipment' ); // save some time in the case that singular and plural are the same if ( in_array( strtolower( $string ), $uncountable ) ) return $string; // check for irregular singular forms foreach ( $irregular as $noun ) { if ( strtolower( $string ) == $noun[0] ) return $noun[1]; } // check for matches using regular expressions foreach ( $plural as $pattern ) { if ( preg_match( $pattern[0], $string ) ) return preg_replace( $pattern[0], $pattern[1], $string ); } return $string; }

关于英语单词单复数转换方法在程序中的实现相关推荐

  1. 帮助自己巩固英语单词,一个小程序;使用fopen对txt读取数据

    小程序,一时兴起 首先把单词和中文意思都放在txt文件中 使用结构体来读取单词和中文意思,声明成结构体数组,方便后期使用随机数的时候可以直接取到该单词的数据 读取数据使用fopen函数,还未彻底完善, ...

  2. 【英语单词】常见深度学习中编程用到的英语词汇

    文章目录 A B C D E F G H I L M N O P S T 本文仅作为日常学习时遇到的英语单词记录,不全,不具有普适性! A Auxiliary:辅助的,辅助人员 Advanced Dr ...

  3. 单数复数php单元格背景颜色,PHP-php 如何实现 英语单词 单复数 转换

    提供一个单数转复数的函数给你: /** * 单词单数转成复数 * @param $string 单词单数 */ function pluralize( $string ) { $plural = ar ...

  4. php英语单词出现了几次,PHP如何实现英语单词 单复数 转换?

    提供一个单数转复数的函数给你: /** * 单词单数转成复数 * @param $string 单词单数 */ function pluralize( $string )  { $plural = a ...

  5. python快递分拣小程序_python英语单词测试小程序代码实例

    这篇文章主要简介了python英语单词测试小程序代码实例,文中通过示例代码简介的非常具体,对大家的学习或者工作具有一定的参考学习网上卖,需要的朋友可以学习下 爬取了扇贝英语网,并制作了一个英语单词测试 ...

  6. python英语词汇量测试_python英语单词测试小程序

    博主爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧- import requests #扇贝网爬虫,获取英语单词 category_res=requests.ge ...

  7. 计算机毕设Python+Vue英语单词记忆系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. python测试代码_python英语单词测试小程序代码实例

    这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 爬取了扇贝英语网,并制作了一个英语单词测试的 ...

  9. MFC应用程序中嵌入一个谷歌cef浏览器

    声明:文章来自http://www.codeproject.com/Articles/1105945/Embedding-a-Chromium-browser-in-an-MFC-applicatio ...

最新文章

  1. nvidia命令不可用linux,在Linux命令行下如何正确配置nVIDIA显卡
  2. WEB前端性能优化小结
  3. 关于MySQL连接Navicat Premium 12失败的解决方法
  4. java 遍历方法_Java ArrayList遍历的3种方法
  5. 分布式图处理系统同步异步执行模式
  6. 基于GraphHopper搭建离线路径规划服务并可视化
  7. 【MFC】CDialog类详解
  8. 扫地机器人电路原理图_扫地机有这一台就够了:石头扫地机器人T6 首拆
  9. gsensor 车辆碰撞算法_AEB安全模型(一)——基于碰撞时间的安全模型
  10. python输出命令_Python中的命令输出解析
  11. jacoco+maven 初次使用覆盖率工具
  12. bug:刷机卡Logo界面,adb shell 报- exec '/system/bin/sh' failed: No such file or directory (2) -
  13. excel熵值法计算权重_如何用熵值法确定指标权重?
  14. 单片机原理及应用(汇编语言、C语言)
  15. 产品经理如何看待NPDP认证?
  16. windows查找文件内容和文件内容
  17. 已经无限接近于真实!EA下一代寒霜引擎展示令人惊叹的毛发效果
  18. 如何构建OctoberCMS Widget插件
  19. linux的htb队列,Linux流量控制中的HTB队列创建与过滤(2)
  20. svchost.exe占网速解决方法

热门文章

  1. 基于深度学习的视觉应用,我们也可以开发哦!
  2. python之xlrd
  3. 环境艺术设计是计算机,【艺术设计论文】环境艺术设计计算机辅助设计研究(共5097字)...
  4. 上承文化、下启智慧:智慧城市建设的遂宁样本
  5. 中小企业如何进行云灾备?
  6. 外卖派单模拟系统C语言代码,GitHub - Sndav/SuperDeliver: 外卖派单模拟系统大作业
  7. xcopy、rd、COPY、MD、DEL、REN 命令祥解
  8. 专业人士告诉你数据分析师适合女生吗?
  9. 基于STM32和ATH20实现OLED显示温湿度
  10. html5响应式前端设计,15个最新的响应式设计前端框架