toSnakeCase property

String toSnakeCase

Returns the String to snake_case.

Example

String foo = 'SNAKE CASE';
String fooSNake = foo.toSnakeCase; // returns 'snake_case'

Implementation

String get toSnakeCase {
  if (this.isBlank) {
    return this;
  }

  var words = this.toLowerCase().trim().split(RegExp(r'(\s+)'));
  var snakeWord = '';

  if (this.length == 1) {
    return this;
  }
  for (var i = 0; i <= words.length - 1; i++) {
    if (i == words.length - 1) {
      snakeWord += words[i];
    } else {
      snakeWord += words[i] + '_';
    }
  }
  return snakeWord;
}