kiyo_hikoのブログ

メモ+日記?

Java:文字列を一定の長さで分割する

自作ツールで問題文がラベルの外にはみ出していって、手動で整形するのもめんどくさいし考えてみた。


とにかく簡単にやりたかったので、とてもてきとう。

public class StringUtils {
	public static List<String> splitAt(int n, String s) {
		final char[] cs = s.toCharArray();
		List<String> ss = new ArrayList<String>();
		StringBuilder sb = new StringBuilder();
		
		for (int i = 0; i < cs.length; i++) {
			sb.append(cs[i]);
			if ((i + 1) % n != 0) continue;
			ss.add(sb.toString());
			sb.delete(0, sb.length());
		}
		ss.add(sb.toString());
		
		return ss;
	}
	
	public static void main(String[] args) {
		String st = "たgh;伊庭い;うgたはおぐじゃ:pヴぃ4t;おあういひょ8や9r8えおあhyyとえqびょいうあtvbくぁyいうちyあw4つは;おうh";
		List<String> ss = StringUtils.splitAt(25, st);
		for (String s : ss) System.out.println(s);
	}
}