zoukankan      html  css  js  c++  java
  • C# 字符串大写转小写,小写转大写,数字保留,其他除外

    又是一道面试题,我只想到两种方式:

    第一种:循环字符串,判断每个字符串的类型,再根据类型对该字符进行操作(转大写、转小写、不变或舍弃)

    static void Main(string[] args)
    {
        //大写转小写,小写转大写,数字保留,其他除外
        string str = "Aa Bb 123!@#";     //测试字符串
        string newStr = string.Empty;    //用于存放新字符串
        
        //循环字符串
        foreach (char item in str)
        {
            if (item >= 'a' && item <= 'z')
            {
                //小写字母转大写
                newStr += item.ToString().ToUpper();
            }
            else if (item >= 'A' && item <= 'Z')
            {
                //大写字母转小写
                newStr += item.ToString().ToLower();
            }
            else if (item >= '0' && item <= '9')
            {
                //数字不变
                newStr += item.ToString();
            }
        }
        //打印
        System.Console.WriteLine(newStr);
        System.Console.ReadLine();
    }
    

    第二种:将字符串转为byte[],循环byte[],使用ASCII码进行判断

    static void Main(string[] args)
    {
        //大写转小写,小写转大写,数字保留,其他除外
        string str = "Aa Bb 123!@#";     //测试字符串
        string newStr = string.Empty;    //用于存放新字符串
    
        //字符串-->byte[] 
        ASCIIEncoding ascii = new ASCIIEncoding();
        byte[] bytes = ascii.GetBytes(str);
    
        //循环byte[] 
        foreach (byte item in bytes)
        {
            //临时存放
            byte[] temp = new byte[] { item };
    
            if (item >= 97 && item <= 122)
            {
                //小写字母转大写
                newStr += ascii.GetString(temp).ToUpper();
            }
            else if (item >= 65 && item <= 90)
            {
                //大写字母转小写
                newStr += ascii.GetString(temp).ToLower();
            }
            else if (item >= 48 && item <= 57)
            {
                //数字不变
                newStr += ascii.GetString(temp);
            }
        }
        //打印
        System.Console.WriteLine(newStr);
        System.Console.ReadLine();
    }
    

    备注:数字,字母的ASCII码对照表

    /*
    0~9数字对应十进制48-57
    a~z字母对应的十进制97-122十六进制61-7A
    A~Z字母对应的十进制65-90十六进制41-5A
    */
    

    结果打印:

  • 相关阅读:
    使用API创建AR 贷项通知单
    JAVA学习(二):JDK介绍及其结构、用途
    android tips—NumberPicker,DataPicker,TimePicker样式改动
    vijos 1234 口袋的天空
    ORA-38760: This database instance failed to turn on flashback database 第三篇
    创建在SQLServer 和 Oracle的 DBLINK
    12本最优秀的Android开发电子书强力推荐
    Js表单验证
    iText操作word文档总结
    Conversion to Dalvik format failed: Unable to execute dex
  • 原文地址:https://www.cnblogs.com/bookobe/p/9163954.html
Copyright © 2011-2022 走看看