Napisz funkcję do konwersji tekstu CamelCased na snake_case: FunctionForHTMLManipulationstaje sięfunction_for_html_manipulation
Tekst wejściowy będzie jednym odpowiednim identyfikatorem w wielu językach. Musi zaczynać się literą angielską, a następnie dowolną liczbą liter lub cyfr angielskich. Żadne inne znaki (spacje, symbole itp.) Są niedozwolone.
Każde „słowo” w tekście Wielbłąda zaczyna się wielką literą, chyba że na początku tekstu lub bezpośrednio po cyfrze, a po nim następuje zero lub więcej liter, w tym samym przypadku. Grupy cyfr będą traktowane jako osobne słowa, ale przejdą bez zmian.
Innymi słowy, mała litera, po której następuje wielka litera, oznacza podział wyrazu. Każda litera i cyfra obok siebie oznacza podział słowa. Wielka litera, po której następuje kolejna wielka litera i mała litera oznaczają podział wyrazu.
...lU...=> ...l_u...
...l9...=> ...l_9...
...U9...=> ...u_9...
...9l...=> ...9_l...
...9U...=> ...9_u...
...UUl...=>...u_ul...
Obaj Buy24Beersi buy24beerszostańcie buy_24_beers.
MacDonaldAndObrianstaje się mac_donald_and_obrian.
MACDonaldAndOBrianstaje się mac_donald_and_o_brian.
...UUl...=> ...u_ul....
...wskazuje, że jest w środku łańcucha.
MACDonaldAndOBrianstaje sięmac_donald_and_o_brian” - dlaczego?