我有一个 var ,其中包含以下格式的大量单词(数百万):
var words =  "
car
house
home
computer
go 
went
";
我想制作一个函数,用空格替换每个单词之间的换行符。
所以结果会是这样的:
car house home computer go went
我有一个 var ,其中包含以下格式的大量单词(数百万):
var words =  "
car
house
home
computer
go 
went
";
我想制作一个函数,用空格替换每个单词之间的换行符。
所以结果会是这样的:
car house home computer go went
您可以使用该.replace()功能:
words = words.replace(/\n/g, " ");
请注意,您需要g正则表达式上的标志来获取替换以将所有换行符替换为空格,而不仅仅是第一个。
如果有多个换行符(换行符)并且可以同时存在\ror \n,并且您需要用一个空格替换所有后续换行符,请使用
var new_words = words.replace(/[\r\n]+/g," ");
要匹配所有 Unicode 换行符并替换/删除它们,请添加\x0B\x0C\u0085\u2028\u2029到上面的正则表达式:
/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g
该/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g方式:
[ - 匹配其中定义的任何单个字符的正字符类的开始:
\r- ( \x0D) - \n]- 回车 (CR)\n- ( \x0A) - 换行符 (LF)\x0B - 线表 (LT)\x0C - 换页 (FF)\u0085 - 下一行(NEL)\u2028 - 行分隔符 (LS)\u2029 - 段落分隔符 (PS)] - 字符类结束+ - 使正则表达式引擎匹配前一个原子(此处的字符类)一次或多次(匹配连续换行符)的量词/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\x0B\x0C\u0085\u2028\u2029]+/g," ");
document.body.innerHTML += "<pre>NEW:\n" + new_words + "</pre>";
代码:(固定)
var new_words = words.replace(/\n/g," ");
一些简单的解决方案看起来像
words.replace(/(\n)/g," ");