Emm*_*mma 1 javascript string substr
出于某种原因,当我执行以下操作时:
var input = 'focus name (tag1 tag2 OTHER,STUFF) focus 2 (MORE)';
var openParen = input.indexOf('(');
var closeParen = input.indexOf(')');
var parenStr = input.substr(openParen + 1, closeParen - 1);
Run Code Online (Sandbox Code Playgroud)
我期待parenStr相等"tag1 tag2 OTHER,STUFF".
相反,我得到它"tag1 tag2 OTHER,STUFF) focus 2 ".任何人都可以向我解释这个吗?我觉得我疯了哈哈,我试过手动输入:
input.substr(openParen + 1, 32)
Run Code Online (Sandbox Code Playgroud)
但它给出了完全相同的结果.我之前使用过.substr()很多次,之前从未遇到过这种错误,我一定会遗漏一些东西.
你打算使用子字符串:
input.substring(openParen + 1, closeParen);
substring将起始和结束索引作为参数.substr采用起始索引和长度参数,这不是您的意图.