首页 > 代码库 > ahjesus 单词单数-复数相互转换C#

ahjesus 单词单数-复数相互转换C#

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