关于英语单词单复数转换方法在程序中的实现
这里是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; }
关于英语单词单复数转换方法在程序中的实现相关推荐
- 帮助自己巩固英语单词,一个小程序;使用fopen对txt读取数据
小程序,一时兴起 首先把单词和中文意思都放在txt文件中 使用结构体来读取单词和中文意思,声明成结构体数组,方便后期使用随机数的时候可以直接取到该单词的数据 读取数据使用fopen函数,还未彻底完善, ...
- 【英语单词】常见深度学习中编程用到的英语词汇
文章目录 A B C D E F G H I L M N O P S T 本文仅作为日常学习时遇到的英语单词记录,不全,不具有普适性! A Auxiliary:辅助的,辅助人员 Advanced Dr ...
- 单数复数php单元格背景颜色,PHP-php 如何实现 英语单词 单复数 转换
提供一个单数转复数的函数给你: /** * 单词单数转成复数 * @param $string 单词单数 */ function pluralize( $string ) { $plural = ar ...
- php英语单词出现了几次,PHP如何实现英语单词 单复数 转换?
提供一个单数转复数的函数给你: /** * 单词单数转成复数 * @param $string 单词单数 */ function pluralize( $string ) { $plural = a ...
- python快递分拣小程序_python英语单词测试小程序代码实例
这篇文章主要简介了python英语单词测试小程序代码实例,文中通过示例代码简介的非常具体,对大家的学习或者工作具有一定的参考学习网上卖,需要的朋友可以学习下 爬取了扇贝英语网,并制作了一个英语单词测试 ...
- python英语词汇量测试_python英语单词测试小程序
博主爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧- import requests #扇贝网爬虫,获取英语单词 category_res=requests.ge ...
- 计算机毕设Python+Vue英语单词记忆系统(程序+LW+部署)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- python测试代码_python英语单词测试小程序代码实例
这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 爬取了扇贝英语网,并制作了一个英语单词测试的 ...
- MFC应用程序中嵌入一个谷歌cef浏览器
声明:文章来自http://www.codeproject.com/Articles/1105945/Embedding-a-Chromium-browser-in-an-MFC-applicatio ...
最新文章
- nvidia命令不可用linux,在Linux命令行下如何正确配置nVIDIA显卡
- WEB前端性能优化小结
- 关于MySQL连接Navicat Premium 12失败的解决方法
- java 遍历方法_Java ArrayList遍历的3种方法
- 分布式图处理系统同步异步执行模式
- 基于GraphHopper搭建离线路径规划服务并可视化
- 【MFC】CDialog类详解
- 扫地机器人电路原理图_扫地机有这一台就够了:石头扫地机器人T6 首拆
- gsensor 车辆碰撞算法_AEB安全模型(一)——基于碰撞时间的安全模型
- python输出命令_Python中的命令输出解析
- jacoco+maven 初次使用覆盖率工具
- bug:刷机卡Logo界面,adb shell 报- exec '/system/bin/sh' failed: No such file or directory (2) -
- excel熵值法计算权重_如何用熵值法确定指标权重?
- 单片机原理及应用(汇编语言、C语言)
- 产品经理如何看待NPDP认证?
- windows查找文件内容和文件内容
- 已经无限接近于真实!EA下一代寒霜引擎展示令人惊叹的毛发效果
- 如何构建OctoberCMS Widget插件
- linux的htb队列,Linux流量控制中的HTB队列创建与过滤(2)
- svchost.exe占网速解决方法
热门文章
- 基于深度学习的视觉应用,我们也可以开发哦!
- python之xlrd
- 环境艺术设计是计算机,【艺术设计论文】环境艺术设计计算机辅助设计研究(共5097字)...
- 上承文化、下启智慧:智慧城市建设的遂宁样本
- 中小企业如何进行云灾备?
- 外卖派单模拟系统C语言代码,GitHub - Sndav/SuperDeliver: 外卖派单模拟系统大作业
- xcopy、rd、COPY、MD、DEL、REN 命令祥解
- 专业人士告诉你数据分析师适合女生吗?
- 基于STM32和ATH20实现OLED显示温湿度
- html5响应式前端设计,15个最新的响应式设计前端框架