JavaScript заменить --- на - - PullRequest
       12

JavaScript заменить --- на -

2 голосов
/ 21 февраля 2011

Как заменить строку, содержащую --- на -?

Например:

Видение и миссия

Мне удалось заменить пробел и другиеспециальные символы для - и нижний регистр текста, поэтому строка становится:

vision --- mission

теперь мне нужна другая замена для замены --- to -

Конечно, это должно быть гибким.Так, например, когда пользователь вводит Vision & Mission (опечатка предназначена), замена будет генерировать vision - mission (две черты), поэтому в этом случае мне нужно будет заменить на -

, поэтому в основном мне нужна заменаТехника замены неопределенного количества штрихов до 1 штриха.

Спасибо

Ответы [ 2 ]

8 голосов
/ 21 февраля 2011

Используйте replace с регулярным выражением, говорящим о замене всех последовательностей штрихов одним штрихом.

"my--string".replace(/-+/g, "-"); // => "my-string"

Обратите внимание, что это можно сделать с самого начала, когда вы заменяете все специальные символы и пробелычертой.Например, литерал регулярного выражения /[^a-z0-9]+/ig находит все последовательности не буквенно-цифровых символов.

"Smith & Wesson".replace(/[^a-z0-9]+/ig, "-"); // => "Smith-Wesson"

Тогда вам просто нужно .toLowerCase() ваша строка ...

1 голос
/ 21 февраля 2011

Я думаю, вы можете упростить всю свою функцию:

yourString.toLowerCase().replace(/\W+/g, '-')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...