ahjesus 单词单数-复数相互转换C#
2024-08-25 19:52:49
看codesmith内置的模板在生成存储过程的时候有单复数的转换,用相同的函数名实现了一个
public static class StringUtil
{
/// <summary>
/// 单词变成单数形式
/// </summary>
/// <param name="word"></param>
/// <returns></returns>
public static string ToSingular(string word)
{
Regex plural1 = new Regex("(?<keep>[^aeiou])ies$");
Regex plural2 = new Regex("(?<keep>[aeiou]y)s$");
Regex plural3 = new Regex("(?<keep>[sxzh])es$");
Regex plural4 = new Regex("(?<keep>[^sxzhyu])s$"); if (plural1.IsMatch(word))
return plural1.Replace(word, "${keep}y");
else if (plural2.IsMatch(word))
return plural2.Replace(word, "${keep}");
else if (plural3.IsMatch(word))
return plural3.Replace(word, "${keep}");
else if (plural4.IsMatch(word))
return plural4.Replace(word, "${keep}"); return word;
}
/// <summary>
/// 单词变成复数形式
/// </summary>
/// <param name="word"></param>
/// <returns></returns>
public static string ToPlural(string word)
{
Regex plural1 = new Regex("(?<keep>[^aeiou])y$");
Regex plural2 = new Regex("(?<keep>[aeiou]y)$");
Regex plural3 = new Regex("(?<keep>[sxzh])$");
Regex plural4 = new Regex("(?<keep>[^sxzhy])$"); if (plural1.IsMatch(word))
return plural1.Replace(word, "${keep}ies");
else if (plural2.IsMatch(word))
return plural2.Replace(word, "${keep}s");
else if (plural3.IsMatch(word))
return plural3.Replace(word, "${keep}es");
else if (plural4.IsMatch(word))
return plural4.Replace(word, "${keep}s"); return word;
}
}
最新文章
- OrchardNoCMS实体关系映射扩展
- 使用caffe训练自己的CNN
- 【项目】搜索广告CTR预估(二)
- sublime mac osx 命令行打开
- Liferay 6.2 改造系列之十一:默认关闭CDN动态资源
- poj1061 Exgcd
- html body的属性 格式控制标签 内容容器标签 超链接标签 图片标签 表格
- Spark的应用程序
- Codeforces Round #197 (Div. 2) : A
- 连接远程LINUX服务器
- 前端工程师和web工程师的差异
- boostrap-非常好用但是容易让人忽略的地方------row
- Linux内核分析(三)----初识linux内存管理子系统
- iOS获取程序运行平台
- MySQL主从复制的原理和实践操作
- EXT系统中的信息查询
- 2014NOIP普及组 子矩阵
- python3 第三十四章 - 聊聊File对象
- table增删改查操作--jq
- hibernate框架学习之持久化对象OID
热门文章
- XML学习笔记4——XSD简单数据类型
- Vertex and Fragment Shader
- Hello Netgen
- WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
- java中final注意的问题
- Unity中 动态加载 Resources.Load()和Asset Bundle 的区别
- (原创)详解KMP算法
- Docker - Docker基础命令及使用
- Arctext.js - 基于 CSS3 &; jQuery 的文本弯曲效果
- html/css基础篇——关于浏览器window、document、html、body高度的探究