Chinar blog :www.chinar.xin
字符串处理函数总结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("__________________________________拆分_______________________________________");日常程序开发中,最常用到的类,就有一个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(); } }将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(); }复制字符串对象,新建一个实例,是新对象!二者内存地址不同
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先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
Chinar 免费服务器、建站教程全攻略!( Chinar Blog )
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究 对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com 对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址