共通関数

[C#共通関数] 文字列を指定した文字数で分割するFunction

文字列を指定した文字数で分割するFunctionです。
戻り値はstring配列です。

サンプルFunction

例)文字列を指定した文字数で分割するFunction


/// <summary>
/// 文字列を指定した文字数で分割するFunction
/// </summary>
/// <param name="str">対象文字列</param>
/// <param name="cnt">分割する文字数</param>
/// <returns>分割結果(string配列)</returns>
public static string[] getDivide(string str, int cnt)
{
  // 文字列がnullの場合はnullを返す
  if (str == null)
  {
    return null;
  }

  // 文字数が0の場合は文字列を配列化して返す
  if (cnt == 0)
  {
    return new string[]{str};
  }

  // 文字数で分割する処理
  var list = new List<string>();
  string a = "";

  foreach (var c in str)
  {
    a = a + c;
    if (a.Length%cnt == 0)
    {
      list.Add(a);
      a = "";
    }
  }

  if (a != "")
  {
    list.Add(a);
  }

  return list.ToArray();
}

(使用例)


string[] str = getDivide("abcdefgh", 2);
→ ["ab", "cd", "ef", "gh"] //2文字ごとに分割

string[] str = getDivide("abcdefgh", 3);
→ ["abc", "def", "gh"] //割り切れないので、最後は3文字にはなりません。

string[] str = getDivide("あいうabc", 2);
→ ["あい", "うa", "bc"] //全角半角区別なく1文字は1文字です

string[] str = getDivide(null, 2);
→ null //nullを指定した場合はnullが返ります

string[] str = getDivide("abcdefgh", 0);
→ ["abcdefgh"] //文字数にゼロを指定した場合は指定した文字を配列化した値が返ります

備考

  • 戻り値の型はstring配列です。
  • 指定した文字数で割り切れない場合は、最後の文字は指定した文字数になりません。
  • nullを指定した場合は、nullが返ります。
  • 文字数にゼロを指定した場合は、指定した文字を配列化した値が返ります。

-共通関数
-