Замена в строке символов и букв
Spinal Tap Case
12-ый день программы "#100 Days Of Code"
Как вы можете увидеть из ответов к заданию, нам предстоит написать код, который все слова сделает в нижнем регистре и добавит между ними "-"
Материал по регулярным выражениям очень нужный и достаточно сложный. Мне кажется, что придется уделить ему намного больше времени, чем я подумал вначале.
Пока что, думаю, что стоит остановиться на объяснении действий функции.
Как уже понятно, replace(), будет менять одно на другое. То есть , например вот такое выражение:
var nstr = "ILoveJavaScript";
alert(nstr.replace(/([a-zA-Z])([^a-zA-Z]|(?=[A-Z]))/g,"$1 "));
Вернет строку разделенную пробелом I Love Java Script
А вот такое выражение:
alert(nstr.replace(/\s/g,"-"));
I-Love-Java-Script
Заменит пробелы /\s/g
на дефис.
Остается сделать вывод в нижнем регистре toLowerCase();
function spinalCase(str) { return str.replace(/([a-zA-Z])([^a-zA-Z]|(?=[A-Z]))/g,"$1-").toLowerCase(); } spinalCase('This Is Spinal Tap');
Ответы:
spinalCase("This Is Spinal Tap")
return "this-is-spinal-tap".
spinalCase("thisIsSpinalTap")
return "this-is-spinal-tap".
spinalCase("The_Andy_Griffith_Show")
return "the-andy-griffith-show".
spinalCase("Teletubbies say Eh-oh")
return "teletubbies-say-eh-oh".
spinalCase("AllThe-small Things")
return "all-the-small-things".
Комментариев нет:
Отправить комментарий