コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

【C#】文字列を指定した文字数で分割する拡張メソッド

public static class StringExtensions
{
    public static string[] SubstringAtCount( this string self, int count )
    {
        var result = new List<string>();
        var length = ( int )Math.Ceiling( ( double )self.Length / count );

        for ( int i = 0; i < length; i++ )
        {
            int start = count * i;
            if ( self.Length <= start )
            {
                break;
            }
            if ( self.Length < start + count )
            {
                result.Add( self.Substring( start ) );
            }
            else
            {
                result.Add( self.Substring( start, count ) );
            }
        }

        return result.ToArray();
    }
}
var str = "ピチューピカチュウライチュウ";
foreach ( var n in str.SubstringAtCount( 3 ) )
{
    Debug.Log( n );
}
ピチュ
ーピカ
チュウ
ライチ
ュウ