У меня есть строки с дополнительными пробелами, каждый раз, когда есть более одного пробела, я бы хотел, чтобы он был только один.
Кто угодно? Я пытался найти в Google, но у меня ничего не получалось.
Спасибо
javascript
string
trim
канун
источник
источник
Ответы:
Что-то вроде этого:
источник
Вы можете дополнить String для реализации этих поведений в виде методов, например:
Теперь это позволяет вам использовать следующие элегантные формы для создания нужных вам строк:
источник
использование регулярного выражения с функцией replace делает свое дело:
источник
Вот решение без регулярных выражений (просто для удовольствия):
Он разбивает строку по пробелам , удаляет их все пустые элементы массива из массива (те, которые были больше, чем один пробел) и снова объединяет все слова в строку с одним пробелом между ними.
источник
Я предполагаю, что вы хотите удалить пробелы в начале и / или конце строки (а не удалять все пробелы?
Если это так, вам понадобится такое регулярное выражение:
Это удалит все пробелы в начале или конце строки. Если вы хотите обрезать пробелы только с конца, тогда регулярное выражение будет выглядеть так:
Надеюсь, это поможет.
источник
''
вместо' '
.jQuery.trim () работает хорошо.
http://api.jquery.com/jQuery.trim/
источник
Я знаю, что не должен быть некромантиком по предмету, но, учитывая детали вопроса, я обычно расширяю его следующим образом:
Для этого я использую такой код (круглые скобки в первом регулярном выражении существуют только для того, чтобы сделать код более читабельным ... регулярные выражения могут быть неприятны, если вы не знакомы с ними):
Причина, по которой это работает, заключается в том, что методы объекта String возвращают строковый объект, для которого вы можете вызвать другой метод (так же, как jQuery и некоторые другие библиотеки). Гораздо более компактный способ написания кода, если вы хотите последовательно выполнить несколько методов для одного объекта.
источник
var x = "Test Test Test" .split ("") .join (""); оповещение (х);
источник
Попробуй это.
результат будет
То, что произошло здесь, это то, что он сначала обрезает внешние пространства, а
trim()
затем обрезает внутренние пространства, используя.replace(/\s+/g, ' ')
.источник
Если вы хотите ограничить пользователя указанием пустого места в имени, просто создайте оператор if и задайте условие. как я сделал:
источник
Как насчет этого?
"my test string \t\t with crazy stuff is cool ".replace(/\s{2,9999}|\t/g, ' ')
выходы
"my test string with crazy stuff is cool "
Этот избавляется от любых вкладок, а также
источник
\s
. Неоправданно сложное регулярное выражение, можно просто написать/\s+/g
.