Niklaus Wirth

Niklaus Wirth

Translate

Spinal Tap Case(12)

Замена в строке символов и букв

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".


Комментариев нет:

Отправить комментарий