跳过空白的JavaScript习惯用法是什么?
给定一个字符串跳过空白的JavaScript习惯用法是什么?,javascript,node.js,string,Javascript,Node.js,String,给定一个字符串s和一个当前索引i,JavaScript(节点)中跳过从该位置开始的空白的惯用方法是什么?在C中,这将通过以下方式实现: while (isspace(s[i])) i++; 可以使用charCodeAt或多或少地直接将其转换为JavaScript,但有更好的解决方案吗?检查该点的字符串索引,查看其修剪值是否为空字符串: while (s[i].trim() === '') i++; 或使用RE: while (/\s/.test(s[i])) i++; 如果
s
和一个当前索引i
,JavaScript(节点)中跳过从该位置开始的空白的惯用方法是什么?在C中,这将通过以下方式实现:
while (isspace(s[i]))
i++;
可以使用
charCodeAt
或多或少地直接将其转换为JavaScript,但有更好的解决方案吗?检查该点的字符串索引,查看其修剪值是否为空字符串:
while (s[i].trim() === '')
i++;
或使用RE:
while (/\s/.test(s[i]))
i++;
如果循环中没有其他内容,则可以不使用循环:
i += s.slice(i).match(/^\s*/)[0].length;
但是,根据您到底想做什么,可能会有更好的方法。跳过是出于什么原因?通常你只是用一个正则表达式打它,如果你不在乎的话,它会折叠所有的空格。输入是什么,预期的输出是什么?@tadman。无法损坏字符串,因为其中的某些空格很重要。请跳过任何空白字符,而不仅仅是“”。JavaScript没有isspace;正则表达式文字可以做同样的工作;它们在JavaScript中是否像在Perl中一样被认为是惯用的?不确定“惯用”是什么意思,但它们可以非常简洁地使用并且易于理解,因此我使用re不会有任何问题。@rwallace是的,
而(/\s/.test(s[I])I++
将非常适合JS