toSnakeCase function

String toSnakeCase(
  1. String str
)

Implementation

String toSnakeCase(String str) {
  final StringBuffer snakeCase = StringBuffer();

  for (int i = 0; i < str.length; i++) {
    // 숫자인 경우 체크
    bool isDigit = RegExp(r'\d').hasMatch(str[i]);

    // 현재 문자가 대문자이고, 첫 번째 문자가 아니며, 숫자가 아닐 경우 밑줄 추가
    if (str[i].toUpperCase() == str[i] && i > 0 && !isDigit) {
      snakeCase.write('_');
    }
    // 현재 문자를 소문자로 변환하여 추가
    snakeCase.write(str[i].toLowerCase());
  }

  return snakeCase.toString();
}