Edited at

Scalaでキャメルケースをスネークケースに変換する

ぐぐったコードが数字が入ったり大文字連続だったりのイレギュラーケースで壊滅状態だったので今さっきでっち上げてみた。


StringHelper.scala

object StringHelper {

private val separatees = "[a-z](?=[A-Z])|[0-9](?=[a-zA-Z])|[A-Z](?=[A-Z][a-z])|[a-zA-Z](?=[0-9])".r

def camel2Snake(s: String): String = separatees.replaceAllIn(s, _.group(0) + '_')
.toLowerCase
}