9

嗨,我在单词之间得到了换行符(\n)和制表符(\t),我试图通过使用$.trim()函数来修剪它们,但它不起作用。所以任何人都可以为这类问题提供一些解决方案。

前任:

var str = "Welcome\n\tTo\n\nBeautiful\t\t\t\nWorld";
alert($.trim(str));

上面的代码不起作用。

4

4 回答 4

18
str.replace(/\s+/g, " "); //try this

参考替换

\s匹配任何换行符、制表符或空格

于 2013-10-28T07:14:42.303 回答
13

你可以这样做:

var str = "Welcome\n\tTo\n\nBeautiful\t\t\t\nWorld";
alert($.trim(str.replace(/[\t\n]+/g,' ')));
// results is  "Welcome To Beautiful World"
于 2013-10-28T07:15:12.790 回答
1

这是意料之中的。trim只处理前导和尾随空格。

相反,使用

str.split(/\s/).join(' ');

在您的示例中,这将返回

"Welcome To Beautiful World"
于 2013-10-28T07:13:45.777 回答
0

您可以使用正则表达式替换

var str = "Welcome\n\tTo\n\nBeautiful\t\t\t\nWorld";
alert($.trim(str.replace(/[\t\n]+/g, ' ')));

演示

于 2013-10-28T07:17:32.303 回答