我有一个 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
正则表达式上的标志来获取替换以将所有换行符替换为空格,而不仅仅是第一个。
如果有多个换行符(换行符)并且可以同时存在\r
or \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," ");