Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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_Replace - Fatal编程技术网

Javascript 删除所有出现的新行和制表符

Javascript 删除所有出现的新行和制表符,javascript,regex,replace,Javascript,Regex,Replace,我仍在学习一些像样的正则表达式,但我认为这会奏效 这项工作: str.replace(/ /g,"").replace(/(\r\n|\n|\r)/gm,""); 但简短的版本则不然。我哪里出错了 str.replace((/ /g)|(/(\r\n|\n|\r)/gm),""); 您可以尝试以下方法: str.replace(/(\r\n|\n|\r|( ))/gm,""); 您应该执行以下操作(将两个正则表达式合并为一个): 对于2个空格,您还可以编写: str = str.r

我仍在学习一些像样的正则表达式,但我认为这会奏效

这项工作:

str.replace(/   /g,"").replace(/(\r\n|\n|\r)/gm,"");
但简短的版本则不然。我哪里出错了

str.replace((/  /g)|(/(\r\n|\n|\r)/gm),"");
您可以尝试以下方法:

str.replace(/(\r\n|\n|\r|(  ))/gm,"");
您应该执行以下操作(将两个正则表达式合并为一个):

对于2个空格,您还可以编写:

str = str.replace(/ {2}|\r\n|\n|\r/gm, '');

regexpr分隔符是
/
,因此表达式中有“or”
。如果你想加入他们,试着

str.replace((/  |\r\n|\n|\r/gm),"");

顺便说一下,在regexp中,制表符是
\t
,因此如果要删除所有制表符和新行,可以使用
str.replace(/[\t\n\r]/gm')
这样说,如果“tab”表示任何标识,包括“4个空格”,则使用
str.replace(/{4}|[\t\n\r]/gm',)

您可能希望将它们按如下方式分组,而不是所有OR运算符:

str = "Hello\n" +
      "there    stranger!";

str.replace(/[\r\n\t]/g, "")
// "Hellotherestranger!"

[
]
组的意思是“这个组中的任何字符”,它比所有的OR表达式都干净。

我相信你的第一个(工作)示例是正确的方法。我会将空格放在括号中,它看起来更好:
str=replace(/[{2}\r\n}\n}\r/gm,)str.replace(/{4}|[\t\n\r]/gm',)。这是一个很好的建议,尤其是如果您打算删除除制表符和换行符之外的其他字符
str = "Hello\n" +
      "there    stranger!";

str.replace(/[\r\n\t]/g, "")
// "Hellotherestranger!"