Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中用空格替换换行符/换行符?_Javascript_Regex - Fatal编程技术网

如何在javascript中用空格替换换行符/换行符?

如何在javascript中用空格替换换行符/换行符?,javascript,regex,Javascript,Regex,我有一个var,其中包含一个大的单词列表(百万),格式如下: var words = " car house home computer go went "; 我想做一个函数,用空格替换每个单词之间的换行符 所以结果是这样的: car house home computer go went 一些简单的解决方案如下 words.replace(/(\n)/g," "); 您可以使用.replace()功能: words = words.replace(/\n/g, " "); 请注意,

我有一个var,其中包含一个大的单词列表(百万),格式如下:

var words =  "
car
house
home
computer
go 
went
";
我想做一个函数,用空格替换每个单词之间的换行符

所以结果是这样的:

car house home computer go went

一些简单的解决方案如下

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

您可以使用
.replace()
功能:

words = words.replace(/\n/g, " ");
请注意,您需要正则表达式上的
g
标志来获取replace,以将所有新行替换为空格,而不仅仅是第一行

工作演示:

代码:(已修复)

如果存在多个换行符(换行符),并且可以同时存在
\r
\n
,并且需要用一个空格替换所有后续换行符,请使用

要匹配所有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=“汽车\r\n\r\nhouse\nhome\r计算机\ngo\n\nwent”;
document.body.innerHTML=“旧:\n”+单词+”;
var new_words=words.replace(/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g,“”;

document.body.innerHTML+=“新:\n”+新单词+”/g
标志,则只替换第一次出现的内容)您是否确实尝试了此操作?这似乎对我不起作用:为什么在
/(\n)/
中使用paren?它们是不需要的。它们确实是多余的,但我更愿意把它们说清楚——为什么否决票?没有提供解释的下层选民不能帮助我们改进答案(从而使整个社区受益)。
var new_words = words.replace(/[\r\n]+/g," ");
/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g