Я работаю над регулярным выражением (фактически, регулярными выражениями), которое удовлетворит мои потребности.:)
Мне нужно заменить данную строку (названную title
) и вернуть slug
:
Заменить один пробел одним подчеркиванием в местах, где естьодин пробел.Если имеется более одного пробела, следует заменить только один пробел.Это сложно объяснить, но я постараюсь объяснить на примере.Hi and hello, world!
будет Hi_and_hello,_world!
, но если перед «миром» будет, например, два пробела, это будет Hi_and_hello,_ world!
,
Заменить все оставшиеся белые-пространства без ничего (''
),
Заменить все нежелательные символы (белый список: a-z
, A-Z
, 0-9
и подчеркивание).Другими словами, если символ отсутствует в белом списке, его следует заменить ничем (''
),
Обрезать начало и конец от подчеркивания;
Конечный результат должен быть:
Hello, world! I'm known as daGrevis. :)
... до:
Hello_world_Im_known_as_daGrevis
Всето, что мне нужно сделать в JavaScript.Вот что я получил до сих пор:
slug = title.replace(/\s+/g, '_');
slug = title.replace(/\s+/g, '');
slug = title.replace(/[^\w0-9a-zA-Z]/g, '');
Я плохо разбираюсь в регулярных выражениях, так что не смейтесь надо мной.: D Спасибо за совет!