字符串的各种方法

字符串:

1)字符串的不可变性:

当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值

 

当程序结束后,GC扫描整个内存,如果发现有的空间没有指向,则立即销毁

 

2)我们可以将字符串string类型看做是char类型的一个只读数组。(羊肉与羊肉串的区别)

ToCharArray();可以将字符串转换成char数组

new String(Char[] chs);能够将char数组转换成字符串

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _字符串的各种方法的使用及练习
{
    class Program
    {
        static void Main(string[] args)
        {
            //string name = "张三";
            //name = "李四";
            //Console.WriteLine(name);
            //Console.ReadKey();


            //我们可以将字符串string类型看做是char类型的一个只读数组。(羊肉与羊肉串的区别)
            string s = "abcdefg";
            //s[0]='b';不能这样做 因为是只读的
            //首先我们应该将字符串转换为char类型的数组
            char[] chs = s.ToCharArray();
            chs[0] = 'b';
            //将字符数组转换为我们的字符串
            s = new string(chs);
            //既然可以将string类型看作char类型的只读数组,所以我们可以通过下标去访问字符串中的某一个元素
            Console.WriteLine(s[0]);
            Console.WriteLine(s);
            Console.ReadKey();


        }
    }
}
View Code

string跟stringbuilder

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _StringBuilder与String
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();
            string str = null;
            //创建了一个计时器,用来记录程序运行时间
            Stopwatch sw = new Stopwatch();
            sw.Start();//开始计时
            for (int i = 0; i < 100000; i++)
            {
                sb.Append(i);
            }
            sw.Stop();
            Console.WriteLine(sb.ToString());
            Console.WriteLine(sw.Elapsed);
            Console.ReadKey();

        }
    }
}
View Code

 

 

 

 

一切类型都可以调用.ToString()方法将之转换成字符串类型

 

字符串的各种方法:

1)Length:获得字符串中字符的个数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 字符串的各种方法
{
    class Program
    {
        static void Main(string[] args)
        {
            //随机输入你心中想到的一个名字,然后输出它的字符串长度  Length;可以得到字符串长度
            Console.WriteLine("请输入你心中想到的那个人名字");
            string name = Console.ReadLine();
            Console.WriteLine("你输入名字的长度是{0}", name.Length);
            Console.ReadKey();
        }
    }
}
View Code

2)ToUpper(): 将字符串转换成大写

3)ToLower():将字符串转换成小写

4)Equals(lessonTwo,StringComparison.OrdinalIgnoreCase):比较两个字符串,可以忽略大小写

Console.WriteLine("请输入你喜欢的课程");
            string lessonOne = Console.ReadLine();
            //lessonOne = lessonOne.ToUpper();
            //将字符串转换成大写
            //lessonOne = lessonOne.ToLower();
            //将字符串转换成小写
            Console.WriteLine("请输入你喜欢的课程");
            string lessonTwo = Console.ReadLine();
            //lessonTwo = lessonTwo.ToUpper();
            //lessonTwo = lessonTwo.ToLower();
            if (lessonOne.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase))//比较的时候忽略字符串的大小写
            {
                Console.WriteLine("你们喜欢的课程相同");
            }
            else
            {
                Console.WriteLine("你们喜欢的课程不同");
            }
            Console.ReadKey();
View Code

5)Split(chs, StringSplitOptions.RemoveEmptyEntries):分割字符串,返回了字符串类型的数组,把空项移除

string s = "a b   c v  s _  +  = ,,,";
            //分割字符串Split
            char[] chs = { ' ', '_', '+', '=', ',' };
            string[] str = s.Split(chs,StringSplitOptions .RemoveEmptyEntries);
            //            分割掉字符串chs  并返回一个空项  移除空项
            Console.ReadKey();
View Code
string s = "2008-08-08";
            char[] chs = { '-' };
            string[] date = s.Split(chs, StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine("{0}年{1}月{2}日", date[0], date[1], date[2]);
View Code

6)Replace(string oldvalue,string newvalue):将字符串中出现的old value替换成new value

string str = "美国国家主席老徐";
            if (str.Contains("老徐"))//如果包含
            {
                str = str.Replace("老徐", "**");//那么把老徐替换成**
            }
            Console.WriteLine(str);
View Code

7)SubString(int startIndex,int Length):截取字符串,从指定位置截取,再加截取的长度

            string str = "今天天气好晴朗,处处好风光";
            str = str.Substring(0,5);//截取位置+长度
            Console.WriteLine(str);
View Code

8)bool StartWith(string value):判断字符串是否以子串value结束

9)  bool EndWith(string value):判断字符串是否以子串value结束

10) bool Contains(string value):判断字符串中是否含有子串value

            string str = "今天天气好晴朗,处处好风光";
            //str = str.Substring(0,5);//截取位置+长度
            if(str.EndsWith (""))
            {
                Console.WriteLine("是的");
            }
            else
            {
                Console.WriteLine("不是的");
            }
            if(str.StartsWith (""))
            {
                Console.WriteLine("是的");
            }
            else
            {
                Console.WriteLine("不是的");
            }
            Console.WriteLine(str);
View Code

11)int IndexOf(string value):取字符串第一次出现的位置

            string str = "今天天气好晴朗,处处好风光";
            int index= str.IndexOf("");//搜索第一次出现的位置,如果没找到要找的值,返回一个-1
            Console.WriteLine(index);

            string str1 = "今天天气好晴朗,处处好风光";
            int index1 = str.LastIndexOf("");//搜索最后一次出现的位置
            Console.WriteLine(index1);

            //LastIndexOf Substring
            string path = @"c:\a\s\d\f\g\gh苍\h\hj\z\dfcz\苍老师苍.wav";
            int index2 = path.LastIndexOf("\\");//找最后一个斜线的位置截取
            path = path.Substring(index2);
            Console.WriteLine(path);
View Code

12)Trim();去掉字符串中的空格

13)TrimStart();去掉字符串中前面的空格

14)TrimEnd();去掉字符串中后面的空格

            string str = "      asdadasdsadsad        ";
            str = str.Trim();//去掉字符串中的空格
            str = str.TrimStart();//去掉字符串中前面的空格
            str = str.TrimEnd();//去掉字符串中后面的空格
            Console.WriteLine(str);
View Code

15)string.IsNullOrEmpty();判断字符串是否为null或者为空

            if(string.IsNullOrEmpty (str))
            {
                Console.WriteLine("是的");
            }
            else
            {
                Console.WriteLine("不是的");
            }
View Code

16)Join("|","","");以一个字符分隔字符串

            string[] names = { "张三", "李四", "王五", "赵六", "田七" };
            //以  张三|李四|王五|赵六|田七  输出
            string newNames=string.Join("|",names);
            string strNew=string.Join("|", "张三", "李四", "王五", "赵六", "田七");
            Console.WriteLine(newNames);
            Console.WriteLine(strNew);
            Console.ReadKey();
View Code

 

 

posted @ 2021-07-05 20:44  静态类  阅读(79)  评论(0)    收藏  举报