首先设置一个长度上限,如60,当带中文字符串长度不足60时,在后面补上英文空格。
计算带带中文字符串的长度,然后减去带中文字符串的长度*2(中文占两个字符)得到需要补空格的个数width,之后遍历字符串,统计非中文字符个数eCount。
之后width加上eCount(非中文字符占一格,把多减去的加上)。最后在字符串后边补上width个空格,就可以得到等长的字符串。
companyList.add(company1.getId().toString()); String company1Name = company1.getName(); int width = 60-company1Name.length()*2; int eCount = 0; for (int i = 0; i < company1Name.length(); i++) { char tmp = company1Name.charAt(i); if ((tmp >= 'A' && tmp <= 'Z') || (tmp >= 'a' && tmp <= 'z')) { eCount++; } else if ((tmp >= '0') && (tmp <= '9')) { eCount++; } else if (tmp == '('||tmp==')') { eCount++; } }