看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;
}
}

最新文章

  1. OrchardNoCMS实体关系映射扩展
  2. 使用caffe训练自己的CNN
  3. 【项目】搜索广告CTR预估(二)
  4. sublime mac osx 命令行打开
  5. Liferay 6.2 改造系列之十一:默认关闭CDN动态资源
  6. poj1061 Exgcd
  7. html body的属性 格式控制标签 内容容器标签 超链接标签 图片标签 表格
  8. Spark的应用程序
  9. Codeforces Round #197 (Div. 2) : A
  10. 连接远程LINUX服务器
  11. 前端工程师和web工程师的差异
  12. boostrap-非常好用但是容易让人忽略的地方------row
  13. Linux内核分析(三)----初识linux内存管理子系统
  14. iOS获取程序运行平台
  15. MySQL主从复制的原理和实践操作
  16. EXT系统中的信息查询
  17. 2014NOIP普及组 子矩阵
  18. python3 第三十四章 - 聊聊File对象
  19. table增删改查操作--jq
  20. hibernate框架学习之持久化对象OID

热门文章

  1. XML学习笔记4——XSD简单数据类型
  2. Vertex and Fragment Shader
  3. Hello Netgen
  4. WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。
  5. java中final注意的问题
  6. Unity中 动态加载 Resources.Load()和Asset Bundle 的区别
  7. (原创)详解KMP算法
  8. Docker - Docker基础命令及使用
  9. Arctext.js - 基于 CSS3 &amp; jQuery 的文本弯曲效果
  10. html/css基础篇——关于浏览器window、document、html、body高度的探究