2012-03-24 158 views

回答

43

可以使用.replace()功能:

words = words.replace(/\n/g, " "); 

請注意,您需要正則表達式中的g標誌來替換替換所有的換行符都有一個空格,而不僅僅是第一個。

工作演示:http://jsfiddle.net/jfriend00/VrAw2/

+1

爲什麼downvote?沒有提供任何解釋的Downvoters並不能幫助我們改進我們的答案(從而使整個社區受益)。 – jfriend00 2017-05-13 17:17:35

0

一些簡單的解決方案會是什麼樣子

words.replace(/(\n)/g," "); 
+0

你真的嘗試呢?它似乎不適用於我:http://jsfiddle.net/jfriend00/Zn4WE/1 – jfriend00 2012-03-24 07:36:04

+0

是的,它現在的作品 – 2012-03-24 07:42:42

+1

爲什麼'/(\ n)/'中的parens?他們不需要。 – jfriend00 2012-03-24 07:45:14

2

代碼:(FIXED)

var new_words = words.replace(/\n/g," "); 
+0

你真的嘗試過嗎?它似乎並不適合我:http://jsfiddle.net/jfriend00/Zn4WE/1/ – jfriend00 2012-03-24 07:35:32

+0

仍然需要'g'標誌才能正常工作。 – 2012-03-24 07:46:51

+0

@ jfriend00 @Madmartigan TRUE。有時,顯而易見的是被忽視的......(沒有'/ g'標誌,只有第一個事件被替換) – 2012-03-24 07:50:03

18

在情況下,存在多個換行符(換行碼元),並且如果可以有兩個\r\n,和你需要替換所有後續的換行符一個空格,用

var new_words = words.replace(/[\r\n]+/g," "); 

參見regex demo

/[\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>";