由於String的方法與屬性實在很多,為了方便自己更熟悉各種方法,特別在這裡開一篇來記錄。
屬性 | 說明 |
Length |
取得字串字元數、長度 |
例子:
string str="i love csharp";
int length = str.Length;
Console.WriteLine(length);//13
方法 | 說明 |
IndexOf('關鍵字') | 搜尋該關鍵字的起始字位在字串的哪個索引位置 |
例子:
string str="i love csharp";
int index = str.IndexOf("csharp");
Console.WriteLine(index);//7
另外IndexOf也可以展現類似Contains的功能!
若if判斷式回傳True,間接表達了此關鍵字包含在這個字串裡。
例子:
string str = "i love csharp";
if (str.IndexOf("csharp") >= 0) Console.WriteLine("str字串包含csharp字串");//str字串包含csharp字串
方法 | 說明 |
Substring(索引, 長度) | 從指定的索引位置取得指定長度的字串 |
例子:
Substring經常搭配IndexOf一起使用(不想自己算要擷取的文字長度也可以搭配Length方法一起使用)。
string str = "The best color in the whole world, is the one that looks good, on you!";
/* 先使用IndexOf取得目標關鍵字索引位置 */
int index = str.IndexOf("whole world");
Console.WriteLine(index);//22
/* 使用Length取得目標關鍵字長度 */
string targrt = "whole world";
int length = targrt.Length;
Console.WriteLine(length);//11
/* 接著就可以從原始英文句子中取得目標關鍵字了!*/
string result = str.Substring(22, 11);
Console.WriteLine(result);//whole world
方法 | 說明 |
Trim() | 去除字串開頭、結尾的所有空白字元 |
TrimStart() | 去除字串開頭空白 |
TrimEnd() | 去除字串結尾空白 |
//Trim()
string sqaure = "■";
string str = " i love csharp ";
Console.WriteLine(sqaure+str+sqaure);//■ i love csharp ■
string result=str.Trim();
Console.WriteLine(sqaure+result+sqaure);//■i love csharp■
//TrimStart()
string sqaure = "■";
string str = " i love csharp ";
Console.WriteLine(sqaure+str+sqaure);//■ i love csharp ■
string result = str.TrimStart();
Console.WriteLine(sqaure+result+sqaure);//■i love csharp ■
//TrimEnd()
string sqaure = "■";
string str = " i love csharp ";
Console.WriteLine(sqaure+str+sqaure);//■ i love csharp ■
string result = str.TrimEnd();
Console.WriteLine(sqaure+result+sqaure);//■ i love csharp■
方法 | 說明 |
string.Format() | 將字串格式化 |
格式化的種類很多,可以參考這篇。
https://marcus116.blogspot.com/2018/10/c-stringformat.html
例子
//{參數序數:待轉換字串格式}
string wish=string.Format("我希望5年後的今天{0:yyyy/MM/dd},年薪可以到達{1:C}元整。", DateTime.Now.Date, 1000000);
Console.WriteLine(wish);//我希望5年後的今天2020/08/02,年薪可以到達NT$1,000,000.00元整。
//要注意的是,取得金額格式字串,必須使用整數(int)參數,才會有效果!
這只是痴人說夢,哈哈。
方法 | 說明 |
StringBuilder.Append() | 將字串連接 |
我覺得非常好用的處理字串方法,但StringBuilder物件說到底,不是String物件,所以連接完畢後要記得轉型成String。
適合拿來使用迴圈式連接字串!
StringBuilder sb = new StringBuilder();
for (int i = 0; i <= 10; i++)
{
sb.Append("Day" + i.ToString()+",");
}
string result = sb.ToString();
/* 去除最後1個逗號 */
result = result.Substring(0, result.Length - 1);
Console.WriteLine(result);//Day0,Day1,Day2,Day3,Day4,Day5,Day6,Day7,Day8,Day9,Day10
如有敘述錯誤,還請不吝嗇留言指教,thanks!