【內容】
1.字符串介紹
字符串或串(String)是由數字、字母、下劃線組成的一串字符。一般記爲 s=“a1a2···an”(n>=0)。
1.2字符串的特性
字符串可以看成只讀的字符數組,String可以看做是char的只讀數組。
char c = s[1]; 例子:遍歷輸出string中每個元素。
1.3字符串不可變嗎?
string s = “abc” s = “123” s這不是變了嗎?
不是的,字符串本身沒有變化,是指向的地址不同了,而字符串本身不變。
C#中字符串有一個重要的特性:不可變性。
2.字符串大小寫轉換
str1 = str1.ToLower(); //字符串轉換爲小寫
str2 = str2.ToUpper(); //字符串轉換爲大寫
bool result = str1.Equals(str2,StringComparison.OrdinalIgnoreCase); //忽略大小寫的比較
3.字符串的分割
(1)string[] Split(params char[] separator) //將字符串按照指定的分割符分割爲字符串數組。
(2)string[] Split(char[] separator,StringSplitOptions options)
//將字符串按照指定的char分割符分割爲字符串數組(option取RemoveEmptyEntries的時候移除結果中的空白字符串)。
舉例:
string str = “哈 哈 --------,我 又 -------變 美 了”;
char[] chs = new char[]{‘ ’,’-’};
string[] result = str.Split(chs,StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < result.Length;i++)
{
Console.Write(result[i]);
}
Console.ReadKey();
4.替換
string Replace(string oldValue,string newValue); //將字符串中出現oldValue的地方替換爲newValue。
舉例:
string name = “小楊很邪惡”;
name = name.Replace(‘很’,’不’); //將很替換爲不
Console.WriteLine(name);
Console.ReadKey();
5.判斷字符串中是否包含子字符串
bool Contains(string value) //判斷字符串中是否含有子串value
string name = “小楊很邪惡”;
bool result = name.Contains(“小楊”);
if (result)
{
name = name.Replace(“邪惡”,”純潔”);
Console.WriteLine(name);
}
else
{
Console.WriteLine(name);
}
Console.ReadKey();
6.找到某個字符串索引再截取
(1)string Substring(int startindex); //取從位置startindex開始一直到最後的子字符串。
(2)string Substring(startindex,int length);
取從位置startindex開始長度爲length的子字符串,如果子字符串的長度不足length則報錯。
舉例:
string str = “哈哈,小楊又變帥了”;
str = str.Substring(5); //截取字符串
Console.WriteLine(str);
Console.ReadKey();
顯示結果:又變帥了
7.判斷字符串是否以某個字符串開始
bool StartsWith(string value) //判斷字符串中是否以子串value開始
string str = “小楊很純潔”;
bool result = str.StartsWith(“小”);
if (result)
{
Console.WriteLine(“有這個字符串”);
}
else
{
Console.WriteLine(“沒有這個字符串”);
}
Console.ReadKey();
8.判斷字符串是否以某個字符串結束
bool EndsWith(string value) //判斷字符串中是否以子串value結束
bool result = str.EndsWith(“小”);
9.找字符串的索引
(1)int IndexOf(string value) //取子串value第一次出現的位置
(2)int index = str.IndexOf(“的”,1);
//找一個字符串,從某個索引開始找,找到了就返回索引,找不到就返回-1
string str = “小楊很純潔”;
int index = str.IndexOf(“的”);
//如果這個字符串在這個str字符串中,那麼就會把這個字符串的索引值顯示出來,如果找不到這個字符串,返回的結果是-1
Console.WriteLine(index);
Console.ReadKey();
10.StringBuilder簡單介紹
String在進行運算時(如賦值、拼接等)會產生一個新的實例,而StringBuilder則不會。所以在大量字符串或頻繁對某一個字符串進行操作時最好使用StringBuilder,不要使用String。
11.字符串其他方法
(1)在索引處插入一個字符串
string st = “哈哈,我變帥了”;
st = st.Insert(7,”!”); //在索引處插入一個字符串
Console.WriteLine(st);
Console.ReadKey();
(2)Join方法(將|插入到names數組中)
str[] names = {“諸葛亮”,”老蘇”,”卡卡西”,”鳥叔”,”鳳姐”,};
string st = string.Join(“|”,names);
Console.WriteLine(st);
Console.ReadKey();
(3)移除字符串的方法
String text = “老蘇果然很邪惡”;
Text = text.Remove(2,3); //從某個地方開始移除,移除幾個
Console.WriteLine(text);
Console.ReadKey();
(4)切前後空格的方法
Console.WriteLine(“請輸入你的賬號”);
string name = “ [email protected] ”;
name = name.Trim(); //刪除字符串前後的空格
Console.WriteLine(name);
Console.ReadKey();