Как удалить ведущие и завершающие пробелы из заданной строки html?
У меня есть следующая строка html. Что будет пример кода в JavaScript для удаления пробелов из этой строки?
<p> </p>
<div> </div>
Trimming using JavaScript<br />
<br />
<br />
<br />
all leading and trailing white spaces
<p> </p>
<div> </div>
Ответы
Ответ 1
См. метод String trim()
- https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim
var myString = ' bunch of <br> string data with<p>trailing</p> and leading space ';
myString = myString.trim();
// or myString = String.trim(myString);
Edit
Как отмечено в других комментариях, можно использовать подход с регулярным выражением. Метод trim
является фактически просто псевдонимом для регулярного выражения:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
... это введет этот метод в собственный прототип для тех браузеров, которые все еще плавают в мелком конце пула.
Ответ 2
var str = " my awesome string "
str.trim();
для старых браузеров, используйте regex
str = str.replace(/^[ ]+|[ ]+$/g,'')
//str = "my awesome string"
Ответ 3
string.replace(/^\s+|\s+$/g, "");
Ответ 4
Если вы работаете с многострочной строкой, например с файлом кода:
<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>
И хочу заменить все ведущие строки, чтобы получить такой результат:
<html>
<title>test</title>
<body>
<h1>test</h1>
</body>
</html>
Вы должны добавить multiline
флаг к своему регулярному выражению, ^
и $
match строка за строкой:
string.replace(/^\s+|\s+$/gm, '');
Соответствующая цитата из документов:
Флаг "m" указывает, что многострочная входная строка должна рассматриваться как несколько строк. Например, если используется "m", "^" и "$" изменяются с соответствия только в начале или конце всей строки на начало или конец любой строки в строке.
Ответ 5
var trim = your_string.replace(/^\s+|\s+$/g, '');
Ответ 6
Я знаю, что это очень старый вопрос, но он все еще не имеет принятого ответа. Я вижу, что вы хотите удалить следующее: HTML-теги, которые являются "пустыми" и пробелы, основанные на HTML-строке.
Я предложил решение, основанное на ваших комментариях, для вывода, который вы ищете:
Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces
var str = "<p> </p><div> </div>Trimming using JavaScript<br /><br /><br /><br />all leading and trailing white spaces<p> </p><div> </div>";
console.log(str.trim().replace(/ /g, '').replace(/<[^\/>][^>]*><\/[^>]+>/g, ""));
Ответ 7
01). Если вам нужно удалить только начальные и конечные пробелы, используйте это:
var address = " No.255 Colombo "
address.replace(/^[ ]+|[ ]+$/g,'');
это вернет строку "No.255 Коломбо"
02). Если вам нужно удалить все пробелы, используйте это:
var address = " No.255 Colombo "
address.replace(/\s/g,"");
это вернет строку "No.255Colombo"