Tôi hiểu tại sao sản lượng mong muốn không được đưa ra cho việc chuyển đổi sử dụng regex một chuỗi như FooBar
để Foo_Bar
mà thay vào đó đưa ra Foo_Bar_
. Tôi có thể đã làm điều gì đó với String.substring substring(0, string.length() - 2)
hoặc chỉ thay thế ký tự cuối cùng, nhưng tôi nghĩ có một giải pháp tốt hơn cho một kịch bản như vậy.
Đây là mã:
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
*/
Câu hỏi: Tìm kiếm một cách gọn gàng hơn để có được đầu ra mong muốn?