我只是试图'继续'我的循环,如果它是空白的话。我的目标是不允许任何空格进入“输出”。我已经尝试了以下所有但是它们都不起作用。
var input = document.getElementById('textinput').value;
var lines = input.split('\n');
var output = '';
var patt1=/\s/g;
$.each(lines, function(key, line) {
var parts = line.split(' ');
for (var iii=0; iii<parts.length; iii++)
{
if(parts[iii]==/\s/g)
{continue;}
output+= parts[iii];
}
我也试过
if(patt1.test(parts[iii]) == true){continue;}
if(patt1.test(\'+parts[iii]+\') == true){continue;}
if (parts[iii]==" "|parts[iii]=="\n"|parts[iii]=="\t") continue;
if (parts[iii]=== |parts[iii]===\n|parts[iii]===\t){continue;}
如果它有帮助,如果我输入鸡,那么部分[iii] =='鸡'评估为真。
答案 0 :(得分:0)
我建议你使用文字符号,并使用\ s字符类:
str.replace(/\s/g, '');
// .. 使用字符类\ s和''之间存在差异,这将匹配更多的空白字符,例如'\ t \ r \ n'等等...,寻找''将仅替换ASCII 32个空格。
当您想要构建动态模式时,RegExp构造函数很有用,在这种情况下您不需要它。
此外,如你所说,“[\ s] +”没有使用RegExp构造函数,那是因为你传递一个字符串,你应该“双重转义”反斜杠,否则它们将被解释当字符在字符串内转义时(例如:“\ s”===“s”(未知逃脱))。