在做一些輸出字串 因為混有英文中文 常常導致不能對齊 這邊解決一下
最近處理一個需求 我希望知道把處理的結果串在原本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