C#String字符串处理API函数中文详解Unity-Chinar教程

Chinar blog www.chinar.xin

字符串处理函数总结


本文提供全流程,中文翻译

助力快速掌握 C# String 字符串各种API函数用法

为初学者节省宝贵的时间,避免采坑!

Chinar —— 心分享、心创新!

我们的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar 教程效果:

 string str = "a";
            int    res = str.CompareTo("b");
            Console.WriteLine(res);

            str = "b";
            res = str.CompareTo("a");
            Console.WriteLine(res);

            str = "b";
            res = str.CompareTo("a");
            Console.WriteLine(res);
            Console.WriteLine("_________________________________比较________________________________________");

            str               = "www.unity.kim";
            string newReplace = str.Replace('.', '-'); //替换字符串中的某个字符/字符串:Replace(指定字符,替换字符)
            Console.WriteLine(newReplace);
            Console.WriteLine("___________________________________替换______________________________________");

            string[] strings = str.Split('.'); //字符串拆分,用一个字符拆分现有字符串
            foreach (var s in strings)
            {
                Console.WriteLine(s);
            }
            Console.WriteLine("__________________________________拆分_______________________________________");



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Intro —— 简介


日常程序开发中,最常用到的类,就有一个String类

专门的对字符串进行着各式各样的处理

class Program
    {
        static void Main(string[] args)
        {
            /* CompareTo() 函数在字符串相等的时候,返回值为:0
               当两个字符 ,比较的字符 str 中出现一个 与下边不同的字符时,str的字母排序靠前,返回-1
               否则返回1*/

            string str = "a";
            int    res = str.CompareTo("b");
            Console.WriteLine(res);

            str = "b";
            res = str.CompareTo("a");
            Console.WriteLine(res);

            str = "b";
            res = str.CompareTo("a");
            Console.WriteLine(res);
            Console.WriteLine("_________________________________比较________________________________________");

            str               = "www.unity.kim";
            string newReplace = str.Replace('.', '-'); //替换字符串中的某个字符/字符串:Replace(指定字符,替换字符)
            Console.WriteLine(newReplace);
            Console.WriteLine("___________________________________替换______________________________________");

            string[] strings = str.Split('.'); //字符串拆分,用一个字符拆分现有字符串
            foreach (var s in strings)
            {
                Console.WriteLine(s);
            }
            Console.WriteLine("__________________________________拆分_______________________________________");

            string newSubstring = str.Substring(4, 5); //从str 中的第四个字符开始截取,然后截取长度为5的字符
            Console.WriteLine(newSubstring);
            newSubstring = str.Substring(4); //如果不给长度,则直接到末端
            Console.WriteLine(newSubstring);
            Console.WriteLine("__________________________________从某个位置截取字符串_______________________________________");

            string strUp = str.ToUpper(); //字符串转大写
            Console.WriteLine(strUp);

            var strLow = str.ToLower(); //字符串转小写
            Console.WriteLine(strLow);
            Console.WriteLine("__________________________________大小写_______________________________________");

            str            = " www.unity.kim ";
            string newTrim = str.Trim(); //删除 字符串收尾空白处
            Console.WriteLine(str);
            Console.WriteLine(newTrim);
            Console.WriteLine("__________________________________去首位空格_______________________________________");

            int num = str.IndexOf("unidty"); //可以用来判断是否包含一个子字符串,不包含返回-1,包含返回第一个字符在哪个位置的下标
            Console.WriteLine(num);

            Console.ReadLine();
        }
    }

举个例子


2 Compare ―― 比较

将A和B进行比较

string.Compare(A,B)
建议常用: string.Comparestring.CompareOrdinal

//返回值:
// 1:大于
// 0:等于
//-1:小于
static void Main(string[] args)
{
    string 变量1  = "abc";
    string 变量2  = "ABC";
    int    返回值1 = string.Compare(变量1, 变量2, true);                     //忽略大小写
    int    返回值2 = string.Compare(变量1, 变量2, StringComparison.Ordinal); //序号(二进制)排序规则 
    int    返回值3 = string.CompareOrdinal(变量1, 变量2);                    //序号(二进制)排序规则 - (常用)
    Console.WriteLine(返回值1); // 0 相同
    Console.WriteLine(返回值2); // 32 返回两者相对位置
    Console.WriteLine(返回值3); // 32 返回两者相对位置
    Console.ReadLine();
}

2 Copy ―― 复制

复制字符串对象,新建一个实例,是新对象!二者内存地址不同


string.Copy(字符串内容)
建议常用: string.Comparestring.CompareOrdinal

static void Main(string[] args)
 {
            string 变量1 = "ABCDEF";
            string 变量2 = string.Copy(变量1);                                        //创建一个新实例
            变量1 = "123456";                                                       //改变变量1的值
            Console.WriteLine($"变量1的值:{变量1}------内存地址:" + GetMemoryAddress(变量1)); //变量1的值改变,二者的地址不同
            Console.WriteLine($"变量2的值:{变量2}------内存地址:" + GetMemoryAddress(变量2)); //变量2的值,依旧复制1的值。创建了一个新的内存
            Console.WriteLine("-----------------------------------------------"); //变量2的值,依旧复制1的值。创建了一个新的内存
            string source = "123456";
            char[] chars  = {'我', '爱', '我', '的', '祖', '国'};
            //将变量1,拷贝到 Chars 中
            //CopyTo(原字符串的起始位,目标字)
            source.CopyTo(3, chars, 2, 1); 
            Console.WriteLine(chars);
            Console.ReadLine();
 }


 /// <summary>
 /// 获取对象内存地址
 /// </summary>
 /// <param name="obj">对象</param>
 /// <returns>内存地址</returns>
 public static string GetMemoryAddress(object obj)
 {
     return GCHandle.Alloc(obj, GCHandleType.Pinned).AddrOfPinnedObject().ToString("X");
 }

输出结果

变量1的值:123456------内存地址:2FC22BC
变量2的值:ABCDEF------内存地址:2FC23BC
-----------------------------------------------
我爱4567

支持

May Be —— 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


Chinar

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值