snakeCase property
String
get
snakeCase
Chuyển đổi chuỗi sang định dạng snake_case. Ví dụ: "helloWorld" -> "hello_world", "MyAwesomeClass" -> "my_awesome_class"
Implementation
String get snakeCase {
if (isEmpty) return this;
// Chuyển PascalCase/camelCase sang snake_case (thêm _ trước chữ hoa)
String result = replaceAllMapped(
RegExp(r'(?<=[a-z])([A-Z])'),
(match) => '_${match.group(1)!.toLowerCase()}',
);
// Xử lý các trường hợp khác như dấu cách, gạch ngang thành gạch dưới
result = result.replaceAll(RegExp(r'[ -]'), '_');
// Chuyển toàn bộ thành chữ thường và loại bỏ nhiều dấu gạch dưới liên tiếp
return result.toLowerCase().replaceAll(RegExp(r'_+'), '_');
}