toSnakeCase function
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();
}