เขียนฟังก์ชันเพื่อแปลงข้อความ CamelCased เป็น snake_case: FunctionForHTMLManipulationกลายเป็นfunction_for_html_manipulation
ข้อความที่ป้อนจะเป็นตัวระบุที่เหมาะสมเดียวในหลายภาษา จะต้องเริ่มต้นด้วยตัวอักษรภาษาอังกฤษจากนั้นตามด้วยตัวอักษรหรือตัวเลขภาษาอังกฤษใด ๆ ไม่อนุญาตให้ใช้อักขระอื่น ๆ (ช่องว่างสัญลักษณ์ ฯลฯ )
"คำ" แต่ละคำในข้อความ CamelCased จะเริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่ยกเว้นในตอนต้นของข้อความหรือหลังตัวเลขและตามด้วยตัวอักษรศูนย์หรือมากกว่านั้นในกรณีเดียวกันทั้งหมด กลุ่มของตัวเลขจะถูกพิจารณาว่าเป็นคำที่แยกต่างหาก แต่ไม่ผ่านการเปลี่ยนแปลง
กล่าวอีกนัยหนึ่งอักษรตัวพิมพ์เล็กตามด้วยตัวอักษรตัวพิมพ์ใหญ่หมายถึงตัวแบ่งคำ ตัวอักษรและตัวเลขใด ๆ ที่อยู่ติดกันแสดงถึงการแบ่งคำ ตัวอักษรตัวพิมพ์ใหญ่ตามด้วยตัวอักษรตัวพิมพ์ใหญ่ตัวอื่นและตัวพิมพ์เล็กหมายถึงตัวแบ่งคำ
...lU...=> ...l_u...
...l9...=> ...l_9...
...U9...=> ...u_9...
...9l...=> ...9_l...
...9U...=> ...9_u...
...UUl...=>...u_ul...
ทั้งสองBuy24Beersและกลายเป็นbuy24beers จะกลายเป็น จะกลายเป็น buy_24_beers
MacDonaldAndObrianmac_donald_and_obrian
MACDonaldAndOBrianmac_donald_and_o_brian
...UUl... ...u_ul...
...บ่งชี้ว่ามันอยู่ตรงกลางของสตริง
MACDonaldAndOBrianกลายเป็นmac_donald_and_o_brian" - เพราะเหตุใด