C#——字符串总结
来源:互联网 发布:工业机器人编程原理 编辑:程序博客网 时间:2024/06/08 19:13
对字符串的认识
1.字符是一个只读的字符数组。
2.字符串不可变。
3.要想改变字符串,先通过tochararray()得到char数组,改变值,再通过new string生成新的字符串。
对字符串的处理
导图
1.字符串和字符数组的相互转换
(1)字符串变成字符数组的第一种方法:
通过循环for i=0; i>= str.length; i++ 把字符串中的每一个字符抽出来组成数组。
(2) 第二种方法:str.tochararray()
#region 字符串和字符数组之间的转换 string str = "你好高啊"; char[] chrs = str.ToCharArray(); chrs[2]='矮'; str = new string(chrs); Console.WriteLine(str ); Console.ReadLine(); #endregion
字符数组转化成字符串用的是 new string()。这是一个构造函数。
2.查一个字符串中是否包含某一字符串或字符
bool result = str.Contains("好帅啊");//str中是否包含该字符串
需要定义一个布尔类型的变量来接受。
3.大小写转换
(1)变成小写
Console.WriteLine("请输入喜欢的课程名称"); string str1 = Console.ReadLine(); str1 = str1.ToLower(); Console.WriteLine("请输入喜欢的课程名称"); string str2 = Console.ReadLine(); str2 = str2.ToLower(); if (str1 == str2) { Console.WriteLine("课程名相同" + str1); } else { Console.WriteLine("课程名称不同,{0}——————{1}", str1, str2); }
str2 = str2.ToLower() 是把字符串变成小写的。比较两个课程的课程名是否相同,可以把所有字符都变成小写在进行比较。
(2)变成大写
str2 = str2.ToUper() 跟变成小写类似。
(3)忽略大小写的比较
在比较两个字符串的时候,可以都变成大写,或小写,再比较,但比较麻烦。只要麻烦就有简单的解法。
bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase);//忽略大小写的比较字符串 if (result) { Console.WriteLine("课程名相同" + str1); } else { Console.WriteLine("课程名称不同,{0}——————{1}", str1, str2); } Console.ReadKey();
bool result = str1.Equals(str2, StringComparison.OrdinalIgnoreCase)
这句代码直接就省了大小写的转换,可以直接比较str1和str2是否一样, StringComparison.OrdinalIgnoreCase表示不考虑大小写。
不知道谁开发的这些代码,太神奇了,感觉麻烦,别着急,肯定会有更简单的方法。非常期待可以遇到更多这样的代码,也许有一天自己也可以创造出一些简单的方法供别人使用。
4. 切掉字符串中不想要的字符
#region 切掉字符串中不想要的东西 年月日为例 string str = "1994--- 1--- 22 ---"; char[] chr = new char[] { ' ', '-' };//把想切掉的东西放到一个char数组中 string[] result = str.Split(chr, StringSplitOptions.RemoveEmptyEntries);//把str字符串中chr数组中的值删掉, RemoveEmptyEntries把空字符也删掉 for (int i = 0; i < result.Length; i++) { Console.WriteLine(result[i]); } Console.WriteLine("{0}年{1}月{2}日", result[0], result[1], result[2]); Console.ReadKey(); #endregion
第一步:把想要删掉的字符写到一个字符数组中,比如例子中要把空格和- 删掉。
第二步:string[] result = str.Split(chr, StringSplitOptions.RemoveEmptyEntries)
用的是split,括号里放的是要删掉的字符数组,StringSplitOptions.RemoveEmptyEntries指把空字符删掉使得剩下的字符串中间没有空格。删完之后用一个字符串数组接受,因为删掉一些字符后剩下的一些隔开的字符串。
5.替换字符串
#region 包含 替换字符串 string str = "朱亚文好帅啊"; //str=str.Replace('好', ' '); bool result = str.Contains("好帅啊");//str中是否包含该字符串 if (result) { str = str.Replace("好帅啊", "帅呆了");//替换字符串 } Console.WriteLine(str); Console.ReadKey(); #endregion
先用str.Contains找出要替换的内容,然后 str = str.Replace(“好帅啊”, “帅呆了”),用replace替换。括号内是(旧的内容,新的内容)
总结
字符串从一开始接触编程就了解了,但是不知道还有这么多细节。这些都是些基础的知识,掌握好这些,以后进行复杂的编程的时候的就得心应手了。尝试着去寻找新的解决问题的方法,相信只要算法复杂就一定有简单的,只是还没有发现或还没有被开发出来。
- C#——字符串总结
- C——常用字符串函数、内存操作函数总结
- C字符串总结
- c字符串函数总结
- C/C++字符串总结
- c 风格字符串总结
- c 风格字符串总结
- C语言字符串总结
- C风格字符串总结
- C/C++ 字符串 总结
- C语言字符串总结
- c字符串函数总结
- 【C语言总结】字符串
- C语言字符串总结
- C/C++字符串总结
- c语言字符串总结
- C 字符串学习总结
- C,C++字符串总结
- 分类和继承
- 6、序列化
- 查找——索引结构和分块查找
- 探索日志的奥秘 - 模版挖掘
- 简单工厂模式
- C#——字符串总结
- App Bar上的一系列操作
- Arduino 平台与C语言程序设计-week2-C Programming-Lesson2
- VIM之taglist
- jvm内存溢出问题解决
- 从大数据菜鸟走上大师的历程
- zoj Special Subsequence 3349 (DP+线段树优化) 好题***
- IOS之nil,Nil,null,Null,NULL,NSNull
- Strust2_学习笔记(四)----中文问题、数据校验