Подтвердить что ты не робот

Как заменить новые строки/разрывы строк пробелами в javascript?

У меня есть var, который содержит большой список слов (миллионов) в этом формате:

var words =  "
car
house
home
computer
go 
went
";

Я хочу создать функцию, которая заменит новую строку между каждым словом пробелом.

Таким образом, результаты будут выглядеть примерно так:

car house home computer go went
4b9b3361

Ответ 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," ");