--=========================================
@铭:你想得到你从未得到的东西,那么你必须做你从未做过的事情。
--=========================================
一.字符串的基础
1.string是一个类;可以“看做”是一个char的数组,但不完全等同。
string s="Hello";
①可以通过索引来访问,任何一个元素是s[0],s[1]等;s[0]的值是‘h’等。
②s.Lenth可以获得字符串s的长度。s的长度是5,而不是6。(这点和C语言不同。)
③char[] s.ToCharArray(); //字符串s--->字符数组char[];
④new string(char[]);//字符数组char[]可以调用字符串数组的构造方法--->字符串。
char[] chs = s.ToCharArray(); chs[1] = 'v'; s = new string(chs); Console.WriteLine(s);输出结果为:hvllo
2.字符串的恒定性
string oldStr="abc";oldStr="bcd";string newStr="abc";
①字符串一旦创建不会被销毁,不会被GC回收。
②abc不会被销毁,而是留在字符串拘留池中;newStr=“abc”首先会字符串拘留池中找是否有相同内容,如果有,则让变量直接指向这个对象,如果没有 则重新创建。(可以vs中即时窗口-->地址调试查看)
二.字符串常用的函数
1.Note:
注意字符串是不可改变的,所以这些函数都不会直接改变字符串的内容,而是修改后的字符串的值通过函数返回值的形式返回
2.函数:
①string Trim(); //去掉两边的空白--->常用于用户名的登陆等
②.string ToLower();生成新的小写的字符串
③ bool contanins(string value)判断字符串中是否含有子串value
④bool Equals(s1,StringComparison.OrdinalIgnoreCase);区分大小写。
⑤string Replace(string oldValue,string newValue);将字符串中的出现的oldValue的地方替换为newValue(例如:用于论坛敏感词的替换)
⑥int IndexOf(string value);取子字符串第一次出现的位置。
⑦bool StartWith(string value);bool EndWith(string value);
⑧取子字符串:
- string Substring(int stratIndex);从位置startIndex开始一直到最后的字符串
- string substring(int startIndex,int length);从startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。
-
string str = "hello"; string subStr=str.Substring(1); Console.WriteLine(subStr); //输出结果:ello subStr = str.Substring(1,3); Console.WriteLine(subStr); //输出结果:ell
⑨ 字符串分割函数split
- string[] Split(params char[] separator);将字符串按指定的分割符进行分割为字符串数组。
- string[] Split(char[] separator,StringSplitOptions options);将字符串按照指定的char分隔符分割为字符串数组。(options取RemoveEmptyEntries时,移除结果中的空白字符串)
- string[] Split(string[] sepatator,StringSplitOptions options);将字符串按照指定的string分隔符分割为字符串数组。
k) 待续……