出于好奇,我想知道是否有办法缩短这段代码。每个想法都被接受。
我正在努力使代码的字符尽可能小
const prefix = 'b!',
command = me.content.replace(RegExp(prefix + '\\s'), prefix)
.slice(prefix.length).split(/\s/)[0],
content = me.content.replace(RegExp(prefix + '\\s'), prefix)
.slice(prefix.length + command.length).trim(),
args = content.split(/\s/);
me.content.replace(regexp(prefix+'\s'),prefix)在我的代码中重复出现,有没有办法在不创建另一个变量的情况下缩短它?
输入:‘b!禁止@someuser违反规则'
前缀和命令(b!禁止)或不禁止(b!禁令)。这就是为什么我要替换它。而且,前缀是作为一个变量,我把它作为一个常量来添加作为一个例子。
预期输出:命令:“ban”,内容:“@someuser用于破坏规则”,参数:['@someuser','for','breaking','the','rules']
3条答案
按热度按时间dgjrabp21#
regex101.com上的示例和说明
ps,按空间使用进行拆分时
/\s+/
将连续的空格视为一个。上面给出了您的字符串总是以
^
用一个b!
“命令”。如果你还想得到
@user
:regex101.com上的示例和说明
lokaqttq2#
你可以这样做:
w1jd8yoj3#
这个短吗