zoukankan      html  css  js  c++  java
  • 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;
            }
        }
  • 相关阅读:
    SQL一条语句统计记录总数及各状态数
    火狐登录国际账户
    HTML基础笔记
    增强for、lambda for、stream 遍历List 结束方法 or 跳过循环本次循环
    nginx
    前端问题总结
    Node.js
    Actuator
    ssh免密登录实现及Python实现
    【Mac渗透测试】之SQL注入Demo
  • 原文地址:https://www.cnblogs.com/ahjesus/p/3862931.html
Copyright © 2011-2022 走看看