C#学习笔记--字符串的常用方法

本文档只是自己的学习笔记,可能有误,如果有误请大家帮忙指出,谢谢。

1.CompareTo()方法,比较字符串的内容

依次比较两个字符串中的每一个字符的ASCII码,如果str1和str2相等,返回0,如果str1的字符在str2之前,返回-1,如果str1的字符在str2之后返回1

附:什么是ASCII码,大家可以百度一下,我在这里放一个链接,可以查询ASCII码
ASCII查询
扩展资料:

常见ASCII码的大小规则为 0到9 < A到Z < a到z。

1、数字比字母要小。如 “7”<“F”;

2、数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;

3、字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;

4、同个字母的大写字母比小写字母要小32。如“A”<“a” 。

例:

namespace 字符串的常用方法
{
    class Program
    {
        static void Main(string[] args)
        {
            //CompareTo方法
            string str1 = "ljh";
            string str2 = "laz";
            int res = str1.CompareTo(str2); //依次比较两个字符串中的每一个字符,如果str1和str2相等,返回0,如果str1的字符在str2之前,返回-1,如果str1的字符在str2之后返回1
            Console.WriteLine(res);
            Console.ReadKey();
        }
    }
}

案例分析:
str1为 ljh ,str2 为 laz
第一步:比较两个字符串的第一个字符,两个字符串的第一个字符都为 l ,ASCII码也自然相等,则比较下一个字符
第二步:比较两个字符串的第二个字符,str1的第二个字符为 j,ASCII码为106,str2的第二个字符为a,ASCII码为97。可以看到 j 的ASCII码大于 a 的ASCII码,所以str1的第二个字符的ASCII码大于str2的第二个字符的ASCII码。由于两个字符串的第二个字符不相同,无需再比较第三个字符,返回1。

结果:
在这里插入图片描述

2.Replace()方法 ,替换方法

用另一个字符替换字符串中给定的字符或者用另一个字符串替换字符串中给定的字符串

可能看起来比较懵,总结起来意思就是:

1.只能用字符替换字符,
2.只能用字符串替换字符串,
3.不能用字符替换字符串或者用字符串替换字符
在这里插入图片描述
在这里插入图片描述
第一个参数是原来的字符或字符串,第二个参数是新的字符或字符串

例:

//Replace 方法
string str1 = "www.baidu.com";
            string str2 = "www.google.com";

            string newStr1 = str1.Replace('.', '-');//两个参数都为字符
            string newStr2 = str2.Replace(".", "----");//两个参数都为字符串

            Console.WriteLine(newStr1);
            Console.WriteLine(newStr2);
            Console.ReadKey();

结果:
在这里插入图片描述

3.Split()方法,用于将一个字符串拆成一个字符串数组

例:

 //Split方法
            string str1 = "www.baidu.com";
            string[] strs = str1.Split('.');//将字符串按照 ‘,’ 来分割,得到一个字符串数组

            foreach (string temp in strs)
            {
                Console.WriteLine(temp);
            }

            Console.ReadKey();

结果:
在这里插入图片描述
注意:
1.如例子中检索的参数为 ’ . ’ 得到的数组成员中会去掉’ . ’
可以看到得到的数组成员分别是www ,baidu,com 并没有字符 ‘ . ’
2.Split方法中只能使用字符来分割,不能使用字符串分割,如果使用字符串就会出错,如下:
在这里插入图片描述

4.Substring(),在字符串中检索给定位置的子字符串

传入两个参数,第一个参数是开始的索引位置,第二个是所取字符串的长度
例:

           //Substring方法
            string str1 = "www.baidu.com";
            string res1 = str1.Substring(0, 3);//开始的索引位置为0,长度为3
            string res2 = str1.Substring(0, 4);//开始的索引位置为0,长度为4
            string res3 = str1.Substring(4, 5);//开始的索引位置为4,长度为5

            Console.WriteLine(res1);
            Console.WriteLine(res2);
            Console.WriteLine(res3);

结果:
在这里插入图片描述
案例分析:
res1是从索引0开始,取长度为3的字符串,索引0的位置是第一个w,长度为3就是取到第三个w,这里的长度需要从开始的索引位置计算,所以得到的结果是 www

res2是从索引0开始,取长度为4的字符串,索引0的位置是第一个w,长度为4就是取到第一个 ‘ . ’,这里的长度需要从开始的索引位置计算,所以得到的结果是 www.

res3是从索引4开始,取长度为5的字符串,索引4的位置是b,长度为5就是取到u,这里的长度需要从开始的索引位置计算,所以得到的结果是 baidu

5.ToLower()把字符串转换成小写形式

例:

          //ToLower方法
            string str = "Wwww.BAIdu.Com";
            string res = str.ToLower();
            Console.WriteLine(res);
            Console.ReadKey();

结果:

在这里插入图片描述
注意:该函数只对字母有影响

6.ToUpper()把字符串转换成大写形式

例:

            //ToUpper方法
            string str = "Wwww.BAIdu.Com";
            string res = str.ToUpper();
            Console.WriteLine(res);
            Console.ReadKey();

结果:

在这里插入图片描述

注意:该函数只对字母有影响

7.Trim()删除首尾的空白

例:

          //Trim方法
            string str = "    www.  b   a idu  .com   ";
            string test = "|";//为了看清输出时候尾部的空白,在后面加一个 | 
            string res = str.Trim();
            Console.WriteLine(str + test);//未使用Trim方法
            Console.WriteLine(res + test);//使用了Trim方法

结果:
在这里插入图片描述

注意:Trim()函数对字符串中间的空格无效,只对首尾空白格有效

8,IndexOf()方法,取得字符串第一次出现某个给定字符串或者字符的位置

例:

           //IndexOf方法
            string str = "www.baidu.com";
            int a = str.IndexOf('w');
            int b = str.IndexOf("baidu");
            int c = str.IndexOf("google");//如果找不要需要的字符或者字符串,就会返回-1
            
            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.WriteLine(c);

结果:
在这里插入图片描述
注意:参数必须是字符串中存在完全相同的才可以,否则就查找不到,返回-1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值