ahjesus 单词单数-复数相互转换C#
2014-07-23 14:23
513 查看
看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; } }
相关文章推荐
- ahjesus 单词单数-复数相互转换C#
- ruby单词单数复数相互转换
- ruby单词单数复数相互转换
- java实现英文单词单复数的相互转换
- 对英文单词进行单数复数判断和转换方法
- C#中屏幕坐标与客户区域相互转换
- C#字符串与ASII16(HEX)进制相互转换
- VB与C#相互转换
- C# 各种进制之间相互转换
- 小议C#下文本文件与resources资源文件的相互转换
- VB.NET 和 C# 的相互转换
- vb.net c#.net 代码相互转换
- 实现C#和VB.net之间的相互转换
- c#中字符和字节相互转换
- C# 中各种类型的相互转换
- C# 中各种类型的相互转换
- C# 10进制与16进制相互转换
- 在C#语言中十六进制字符串与字节型数组的相互转换
- 实现C#和VB.net之间的相互转换(马辉)
- C# 各种进制之间相互转换 [ZT]