Как заменить новые строки/разрывы строк пробелами в javascript?
У меня есть var, который содержит большой список слов (миллионов) в этом формате:
var words = "
car
house
home
computer
go
went
";
Я хочу создать функцию, которая заменит новую строку между каждым словом пробелом.
Таким образом, результаты будут выглядеть примерно так:
car house home computer go went
Ответы
Ответ 1
Вы можете использовать функцию .replace()
:
words = words.replace(/\n/g, " ");
Обратите внимание, что для регулярного выражения вам нужен флаг g
для замены, чтобы заменить все символы новой строки пробелом, а не только первым.
Рабочая демонстрация: http://jsfiddle.net/jfriend00/VrAw2/
Ответ 2
Если есть несколько разрывов строк (символы новой строки), и если они могут быть как \r
, так и \n
, и вам нужно заменить все последующие строки на одно пространство, используйте
var new_words = words.replace(/[\r\n]+/g," ");
См. демо-версию regex
/[\r\n]+/g
означает:
-
[\r\n]
- соответствует возврату каретки или символу перевода строки...
-
+
- один или несколько раз (сопоставляются последовательные строки)
-
/g
- найти и заменить все вхождения в предоставленной строке.
var words = "car\r\n\r\nhouse\nhome\rcomputer\ngo\n\nwent";
document.body.innerHTML = "<pre>OLD:\n" + words + "</pre>";
var new_words = words.replace(/[\r\n]+/g," ");
document.body.innerHTML += "<pre>NEW:\n" + new_words + "</pre>";
Ответ 3
Код: (ФИКСИРОВАННЫЙ)
var new_words = words.replace(/\n/g," ");
Ответ 4
Некоторое простое решение будет выглядеть как
words.replace(/(\n)/g," ");