web-dev-qa-db-ja.com

キャメルケースの文字列をスネークケースに変換し、慣用的なKotlinに戻すにはどうすればよいですか?

「MyCamelCaseA」から「my_camel_case_a」「AMultiWordString」から「a_multi_Word_string」「my_camel_case_a」から「myCamelCaseA」または「MyCamelCaseA」「a_multi_Word_string」から「aMultiWordString」または「AMultiWordString」への変換を行うコードを探します

3
TER

これはコトリンのみでの私の試みです

   val  camelCaseString = "thisIsCamelCase"
    val snakeCaseString = camelCaseString.map {
        if (it.isUpperCase()){
            "_${it.toLowerCase()}"
        }else
{"$it"}
    }
.joinToString(separator = "")
System.out.println("here is your snake string: $snake_case_string")

これがヘビの文字列です:this_is_camel_case

ヘビからラクダに変換する

val snakeCaseString = "snake_case_string"
val camelCase = StringBuilder()
var prevChar = '$'
snakeCaseString.forEach {
if(prevChar.equals('_')){
    camelCase.append(it.toUpperCase())
}else if(!it.equals('_')){
    camelCase.append(it)
}
    prevChar = it
}

System.out.println(camelCase.toString())

snakeCaseString

0
nexDev