1. 將字符串長度補位固定長度(漢字占2個字符,英文占1個字符)
此處用到apache中的工具類org.apache.commons.lang3.CharUtils,CharUtils.isAscii(char c)用於判斷字符是否為ascii字符。
1 /** 2 * 填充str為設定長度,左邊補充空格(適用於右對齊) 3 * @param str 4 * @param total 5 * @return 6 */ 7 private static String formatStr(String str, int total) { 8 StringBuilder stringBuilder = new StringBuilder(); 9 if (str != null) { 10 int len = 0; 11 for (int i = 0; i < str.length(); i++) { 12 len += CharUtils.isAscii(str.charAt(i))? 1:2; 13 } 14 int addLen = Math.max(total-len, 0); 15 while (addLen-->0) { 16 stringBuilder.append(' '); 17 } 18 } 19 return stringBuilder.toString() + str; 20 }