String內的幾個小東西

String裡面有幾個功能還蠻實用的,像長度不足的字串,可以補入指定的字串來補足,這就可以用來組流水號,還有一些功能也很實用.

String裡面有幾個功能還蠻實用的,像長度不足的字串,可以補入指定的字串來補足,這就可以用來組流水號,還有一些功能也很實用.

1. String.PadLeft / String.PadRight 長度不足的字串,用指定字串來補足.

如何將字串補入指定的文字至指定的長度,最常見的情況就是編號的流水號,比如說,取得的流水號是9,但編碼規則的流水號長度需為5碼,不足長度的部份要補入0,所以流水號為00009,如果流水號為19,則需為00019,像這種情況下,有什麼方式可以快速完成.

其實string本身就有很好用的現成方法,可以用PadLeft或PadRight,這兩個的差別在於,一個是把指定字串補在左邊(PadLeft),另一個為補在右邊(PadRight),以開頭所提的情況,就可以這麼做即可.
String strNo=”9”;
MessageBox.Show(strNo.PadLeft(5,’0’));
如此就會顯示出00009.

 

2. String.Join 字串陣列轉為字串

當有一字串陣列,需要將它轉為string,用指定的符號用來分格時,這時可用String.Join,舉例來說.
String[] aryA=new string[]{“a”,”b”,”c”};
欲將這個aryA的字串陣列傳為字串,並用逗號做分隔,傳回結果為”a,b,c”
MessageBox.Show(string.Join(“,”,aryA));
如此就可以回傳”a,b,c”

 

3. String.Concat 將字串陣列或多個字串合併

如果欲將字串陣列或多個字串合併,不需用分隔符號時,例如前例,傳回結果為”abc”即可,那就可以用string.Concat這個Function.
MessageBox.Show(string.Concat(aryA));
String.Concat也可帶入多個變數來組,例如string.Concat(strA,strB,strC),這樣回傳的字串就會是這三個字串變數的組合,等同於strA+strB+strC.
但要注意,如果傳入的變數有null的情況,會跳出ArgumentNullException.
Concat的組字串效能特性跟 “aaa” + “bbb”的做法一樣,所以在組字串時,要用StringBuilder或是Concat,可延用前篇"String 與Stringbuilder組字串的效能比較"的結論.

將字串依指定的符號,分別轉為字串陣列,可以使用string.Split,例如”a,b,c”,將這字串轉為字串陣列,所以str[0]=”a”,str[1]=”b”,str[2]=”c”.
string str=”a,b,c”;
string[] aryStr=str.Split(‘,’);

 

4. String.Trim() /String.TrimStart() /String.TrimEnd() 去除字串空白

去除字串空白,可用string.Trim(),TrimStart(),TrimEnd()/
“ a “.Trim() 回傳 “a”;
“ a “. TrimStart() 回傳 “a “;
“ a “. TrimEnd() 回傳 “ a“;

 

5. String.Format 格式化字串

String.Format("測試{0}格式化{1}","String","Format" )

{0}代表為參數的第0個Index {1}為第1個Index參數,所以這個Sample會回傳

"測試String格式化Format"

 

參考 :

String 方法