015-字符串的不可变性,字符串方法相关
一、字符串可以看成只读字符char数组
string str='abcd';
char c = str[3];
str[3] = "m" ——会报错
二、字符串具有不可变性 (体现在堆中)
string str = "abc";
str = "ccc";
三、高效拼接字符串: StringBuilder (字符串量大的时候使用)
StringBuilder sb = new StringBuilder();
sb.Append(); ——向对象中添加字符串
四、String类常用方法
string.ToUpper() 字符串转成大写
string.ToLower() 字符串转成小写
string.To?().Trim() 去掉字符串两端的空格
ToCharArray() 字符串转成字符串数组
注:需要定义新的字符串接收
五、字符串和字符串数组转换
对char进行修改
string str = "abc";
char[] cc = str.ToCharArray();
cc[3] = "m";
str = new string(cc);
str1.Equal(str2, StringComparision.OrdinalIgnoreCase)
两个字符串比较不区分大小写的比较,是否相等
str1 = "abc";
str2 = "abC";
bool b = str1 == str2;
bool b1 = str1.Equal(str2);
bool b2 = str1.Equal(str2, StringComparision.OrdinalIgnoreCase);
将字符串按照指定的分隔符分割为字符串数组。
string[] Split(params char[] separater);
Split(要分割的字符串的字符,是否去掉分割出来的空格);
new char[]{’ ‘,’,’,’|’}, StringSplitOptions…
Replace(string oldValue, string newValue): 字符串替换
bool Contains(string value) 判断字符串是否含有子串value
SubString() 截取字符串
1>从指定位置 截取到 字符串结束 str = str.SubString(3);
2>截取指定位置和指定长度的字符串 str = str.SubString(6, 2);
6:索引 2:长度
bool StartsWith(string value) :判断字符串是否以子串value为开始
bool EndsWith(string value) :判断字符串是否以子串value为结束
int IndexOf(string value) :取子串第一次出现的位置:0,1,2…
int IndexOf(string value, int startIndex):从指定的索引开始向后找 指定字符串出现的位置(索引)
string.Join(String, String[])
在指定String数组的每个元素之间串联指定的分隔符string,从而产生单个串联的字符串
例如:
string [] array={abc,def,ghi};
string a = string.Join("-", array);
此时a="abc-def-ghi";