Tha*_*you 3 javascript string coffeescript
我有这样的字符串
FOO hello world
BAR something else
BISCUIT is tasty
CAKE is tasty too
Run Code Online (Sandbox Code Playgroud)
目标是在第一个单词之后将字符串拆分一次。到目前为止,我正在使用这个
FOO hello world
BAR something else
BISCUIT is tasty
CAKE is tasty too
Run Code Online (Sandbox Code Playgroud)
我不喜欢这样做有两个原因:
' '字符重新连接了字符串。真正的字符串参数可以用a ' '或a 分割\t,我想保持原样不变。有任何想法吗?
试试看:
[ command, params ] = /^([^\s]+)\s(.*)$/.exec('FOO hello world').slice(1);
Run Code Online (Sandbox Code Playgroud)
您可以使用indexOf来查找空间(for \t- 单独处理它并选择两个索引中较小的一个),然后slice在那里:
var command;
var params = '';
var space = raw.indexOf(" ");
if(space == -1) {
command = e.data;
} else {
command = raw.slice(0, space);
params = raw.slice(space + 1);
}
Run Code Online (Sandbox Code Playgroud)
此外,它要快得多,因为它不使用正则表达式。