[C#]字串對齊

在做一些輸出字串  因為混有英文中文 常常導致不能對齊 這邊解決一下

最近處理一個需求 我希望知道把處理的結果串在原本textbox的右邊  

但是因為內容有數字跟英文還有中文 常常對不齊  強迫症發作中

所以想了一個方法來解決這個問題

const int padLength = 35; 
int chineseCharacters = new Regex(@"[^\u4e00-\u9fa5]").Replace(text, "").Length;
text = text.PadRight(padLength - chineseCharacters);

這邊我宣告了字串長度最長為35個半型字元

由於中文字的長度是佔了2個半形字元 但是它的長度依然還是只佔了1  常常無法對齊

所以這邊先利用正規表達式得出字串的中文字有多少個

之後再去把你想padRight的長度減掉中文字數就能得出應該要padRight的長度拉

結果如下

 

看起來就爽爽der