los*_*ble 11 javascript regex node.js
我一直在寻找答案,但无论我使用什么方法,它似乎都没有切断我的字符串末尾的新行字符.
这是我的代码,我试图用来str.replace()摆脱新行字符,因为它似乎是这个问题的标准答案:
process.stdin.on("data", function(data) {
var str;
str = data.toString();
str.replace(/\r?\n|\r/g, " ");
return console.log("user typed: " + str + str + str);
});
Run Code Online (Sandbox Code Playgroud)
我str在控制台输出中重复了三次对象来测试它.这是我的结果:
hi
user typed: hi
hi
hi
Run Code Online (Sandbox Code Playgroud)
如您所见,每个字符之间仍然有新的行字符str.我已经尝试了一些其他参数,str.replace()但似乎没有什么工作可以摆脱新行字符.
Mos*_*atz 36
您正在呼叫string.replace而不在任何地方分配输出.该函数不会修改原始字符串 - 它会创建一个新字符串 - 但您不会存储返回的值.
试试这个:
...
str = str.replace(/\r?\n|\r/g, " ");
...
Run Code Online (Sandbox Code Playgroud)
但是,如果您确实要从输入周围删除所有空格(不仅仅是末尾的换行符),则应使用trim:
...
str = str.trim();
...
Run Code Online (Sandbox Code Playgroud)
它可能更有效,因为它已经在Node.js二进制文件中实现.