字符串的各种方法
字符串:
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(); } } }
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(); } } }

一切类型都可以调用.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(); } } }
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();
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();
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]);
6)Replace(string oldvalue,string newvalue):将字符串中出现的old value替换成new value
string str = "美国国家主席老徐"; if (str.Contains("老徐"))//如果包含 { str = str.Replace("老徐", "**");//那么把老徐替换成** } Console.WriteLine(str);
7)SubString(int startIndex,int Length):截取字符串,从指定位置截取,再加截取的长度
string str = "今天天气好晴朗,处处好风光"; str = str.Substring(0,5);//截取位置+长度 Console.WriteLine(str);
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);
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);
12)Trim();去掉字符串中的空格
13)TrimStart();去掉字符串中前面的空格
14)TrimEnd();去掉字符串中后面的空格
string str = " asdadasdsadsad "; str = str.Trim();//去掉字符串中的空格 str = str.TrimStart();//去掉字符串中前面的空格 str = str.TrimEnd();//去掉字符串中后面的空格 Console.WriteLine(str);
15)string.IsNullOrEmpty();判断字符串是否为null或者为空
if(string.IsNullOrEmpty (str)) { Console.WriteLine("是的"); } else { Console.WriteLine("不是的"); }
16)Join("|","","");以一个字符分隔字符串
string[] names = { "张三", "李四", "王五", "赵六", "田七" }; //以 张三|李四|王五|赵六|田七 输出 string newNames=string.Join("|",names); string strNew=string.Join("|", "张三", "李四", "王五", "赵六", "田七"); Console.WriteLine(newNames); Console.WriteLine(strNew); Console.ReadKey();


浙公网安备 33010602011771号