好的,我正在用正则表达式来度过难关..
这就是我需要的...获取文本文件,删除所有空白行和这些行的开头和结尾处的空格,要删除的空白行还包括文件末尾的空行(a \n在全文的最后)
所以我的脚本是:
quotes.replace(/^\s*[\r\n]/gm, "");
Run Code Online (Sandbox Code Playgroud)
这取代相当不错,但在每行的末尾留下一个空格,并且不会删除最后的换行符.
所以我想用这样的东西:
quotes.replace(/^\s*[\r\n]/gm, "").replace(/^\n$/, "");
Run Code Online (Sandbox Code Playgroud)
第二个"替换"将从整个字符串中删除最后的\n如果存在..但它不起作用..
所以我尝试了这个:
quotes.replace(/^\s*|\s*$|\n\n+/gm, "")
Run Code Online (Sandbox Code Playgroud)
这会删除换行符,但在中间有换行符时连接一些换行符:
这样
1
2
3
4
将返回以下行:
["1","2","34"]
你能帮助我吗?
既然听起来你必须在一个正则表达式中完成所有这一切,试试这个:
quotes.replace(/^(?=\n)$|^\s*|\s*$|\n\n+/gm,"")
Run Code Online (Sandbox Code Playgroud)
我们正在做的是创建一个不会捕获任何内容的组,但是防止换行本身被消耗掉.