package com.string.test;
public class StringUtil {
/**
* @param originalString source string
* @param formatLength output string length
* @return String
* @author alex.wang
* @Date 2010-05-28
*/
public static String splitString(String originalString,int formatLength) {
if ( null == originalString ) {
return "";
}
byte[] strByte = originalString.getBytes();
int strLen = strByte.length;
int count = 0;
if ( formatLength <= 0) {
return "";
}
if ( formatLength >= strLen ) {
return originalString;
}
for ( int i = 0; i < formatLength; i++) {
int value = (int) strByte[i];
if ( value < 0) {
count++;
}
}
if ( count % 2 != 0 ) {
formatLength = (formatLength == 1) ? formatLength + 1 : formatLength - 1;
}
return new String(strByte, 0, formatLength);
}
public static String rightPadInvoiceString(String originalString, int formatLength, String padString) {
if ( null == originalString ) {
originalString = "";
}
originalString = originalString.replaceAll("\r", "");
originalString = originalString.replaceAll("\n", "");
String splitString = splitString(originalString,formatLength);
StringBuffer newStringBuf = new StringBuffer(splitString);
byte[] strByte = splitString.getBytes();
int strLen = strByte.length;
int stepLength = formatLength - strLen;
if ( stepLength > 0 ) {
for ( int i = 0; i < stepLength; i++ ) {
newStringBuf.append(padString);
}
}
return newStringBuf.toString();
}
public static void main(String[] arg) throws IOException {
String s = "aaas学位nhss位英语专区 学s位英语专区 学位英语专区"; ;
System.out.println(SettlementUtil.rightPadInvoiceString(s, 13, " "));
}
}