[C#]認識 處理字串String的方法

由於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!