Saya mengerti mengapa output yang diinginkan tidak diberikan untuk mengkonversi menggunakan regex string seperti FooBar
untuk Foo_Bar
yang bukan memberi Foo_Bar_
. Saya bisa saja melakukan sesuatu dengan String.substring substring(0, string.length() - 2)
atau hanya mengganti karakter terakhir, tetapi saya pikir ada solusi yang lebih baik untuk skenario seperti itu.
Ini kodenya:
String regex = "([A-Z][a-z]+)";
String replacement = "$1_";
"CamelCaseToSomethingElse".replaceAll(regex, replacement);
/*
outputs: Camel_Case_To_Something_Else_
desired output: Camel_Case_To_Something_Else
*/
Pertanyaan: Mencari cara yang lebih rapi untuk mendapatkan hasil yang diinginkan?