10
Regex สำหรับการแปลง CamelCase เป็น camel_case ใน java
ฉันเข้าใจว่าทำไมผลลัพธ์ที่ต้องการไม่ได้รับสำหรับการแปลงโดยใช้ regex สตริงเช่นFooBarการที่จะช่วยให้แทนFoo_Bar Foo_Bar_ฉันสามารถทำอะไรบางอย่างกับ String.substring substring(0, string.length() - 2)หรือเพียงแค่แทนที่อักขระตัวสุดท้าย แต่ฉันคิดว่ามีทางออกที่ดีกว่าสำหรับสถานการณ์ดังกล่าว นี่คือรหัส: 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 */ คำถาม: กำลังมองหาวิธีที่ดีกว่าเพื่อให้ได้ผลลัพธ์ที่ต้องการหรือไม่?