1つの文字列の同じ指定長さ間隔に指定した文字列を挿入
1432 ワード
/**
*
*
* @param target
*
* @param size
*
* @param insert , "
"
* @return
*/
public static String collapseString(String target, int size, String insert){
if(StringUtils.isEmpty(target)) return target; // ,
int target_length = target.length();
if(target_length <= size) return target; // ,
insert = StringUtils.isEmpty(insert) ? "
" : insert;
//
int times = 0;
if(target_length % size == 0){
times = target_length / size - 1;
}else{
times = target_length / size;
}
//
char [] result_chars = new char[target_length + times];
//
char [] target_chars = new char[target_length];
//
target.getChars(0, target_length, target_chars, 0);
// ,
int j = 0;
for(int i = 0; i < target_chars.length; i++){
//
if(i > 0 && i % size == 0){
result_chars[j] = '`';
j = j + 1;
}
result_chars[j] = target_chars[i];
j = j + 1;
}
String resultStr = new String(result_chars);
return resultStr.replaceAll("`", insert);
}
public static void main(String[] args) {
// :
System.out.println(collapseString("AAAAAAAAA", 5, "_"));
}
出力:AAAAA_AAAA
テストしてみるとやや効果的ではありません