🐫🐍🍢🅿 Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case
MPL-2.0 License
Multiplatform Kotlin library to convert strings between various case formats
$kasechange_version
with the version you want): // universal dependency for Gradle 5.3 and above
// in case of multiplatform project, just specify the dependency for commonMain/commonTest source set
implementation "net.pearx.kasechange:kasechange:$kasechange_version"
// for Gradle versions below 5.3:
implementation "net.pearx.kasechange:kasechange-metadata:$kasechange_version" // for Common
// or
implementation "net.pearx.kasechange:kasechange-jvm:$kasechange_version" // for JVM
// or
implementation "net.pearx.kasechange:kasechange-js:$kasechange_version" // for JS
// or
implementation "net.pearx.kasechange:kasechange-android:$kasechange_version" // for Android
// or
implementation "net.pearx.kasechange:kasechange-PLATFORM_YOU_WANT:$kasechange_version" // for Native
$kasechangeVersion
with the version you want): // universal dependency for Gradle 5.3 and above
// in case of multiplatform project, just specify the dependency for commonMain/commonTest source set
implementation("net.pearx.kasechange:kasechange:$kasechangeVersion")
// for Gradle versions below 5.3:
implementation("net.pearx.kasechange:kasechange-metadata:$kasechangeVersion") // for Common
// or
implementation("net.pearx.kasechange:kasechange-jvm:$kasechangeVersion") // for JVM
// or
implementation("net.pearx.kasechange:kasechange-js:$kasechangeVersion") // for JS
// or
implementation("net.pearx.kasechange:kasechange-android:$kasechangeVersion") // for Android
// or
implementation("net.pearx.kasechange:kasechange-PLATFORM_YOU_WAN:$kasechangeVersion") // for Native
"IAmAPascalCasedString123".toSnakeCase() // i_am_a_pascal_cased_string_123
"IAmAPascalCasedString123".toCase(CaseFormat.LOWER_UNDERSCORE) // i_am_a_pascal_cased_string_123
"IAmAPascalCasedString123".toCase(to = CaseFormat.LOWER_UNDERSCORE, from = universalWordSplitter()) // i_am_a_pascal_cased_string_123
"IAmAPascalCasedString123".toSnakeCase(universalWordSplitter()) // i_am_a_pascal_cased_string_123
"IAmAPascalCasedString123".toCase(to = CaseFormat.LOWER_UNDERSCORE, from = universalWordSplitter(treatDigitsAsUppercase = false)) // i_am_a_pascal_cased_string123
"IAmAPascalCasedString123".toSnakeCase(universalWordSplitter(treatDigitsAsUppercase = false)) // i_am_a_pascal_cased_string123
"123e4567-e89b-12d3-a456-426655440000".toSnakeCase(CaseFormat.LOWER_HYPHEN) // 123e4567_e89b_12d3_a456_426655440000
"123e4567-e89b-12d3-a456-426655440000".toCase(to = CaseFormat.LOWER_UNDERSCORE, from = CaseFormat.LOWER_HYPHEN) // 123e4567_e89b_12d3_a456_426655440000
"some_string".toCase(CaseFormatterConfig(false, "..", wordCapitalize = true, firstWordCapitalize = true)) // Some..String
"XMLExtendedParser".splitToWords() // [XML, Extended, Parser]
"XMLExtendedParser2".splitToWords(universalWordSplitter(treatDigitsAsUppercase = true)) // [XML, Extended, Parser, 2]
"XMLExtendedParser2".splitToWords(universalWordSplitter(treatDigitsAsUppercase = false)) // [XML, Extended, Parser2]
"s0meth1ng_in_snake_case".splitToWords(CaseFormat.LOWER_UNDERSCORE) // [s0meth1ng, in, snake, case]