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;
            }
        }
  • 相关阅读:
    mysql数据库函数 concat 字段类型转化、字段拼接
    SSH2中的No result defined for action的问题
    导致表单重复提交(两次)的原因--css{url()}与a标签
    详解jar命令打包生成双击即可运行的Java程序
    21IO流 和缓冲流 和处理流
    20File
    19(1)hashmap,hashtable
    IntelliJ IDEA注册码激活
    19映射
    18泛型
  • 原文地址:https://www.cnblogs.com/ahjesus/p/3862931.html
Copyright © 2011-2022 走看看