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,)我喜欢这个答案,特别是因为你解释得很好。这对于正则表达式的初学者来说是很好的,正如我所处的那样。使用建议的包含4个空格的方法是错误的,因为它将不正确地匹配文本数字4。改用这个:str.replace(/{4}|[\t\n\r]/gm',)代码>。这是一个很好的建议,尤其是如果您打算删除除制表符和换行符之外的其他字符
str = "Hello\n" +
"there stranger!";
str.replace(/[\r\n\t]/g, "")
// "Hellotherestranger!"