我需要一些关于此代码的帮助。我试图这样做,以便每次提到“帮助”这个词时,即使在一个句子的中间,它也会激活一个功能。这是代码的一部分:
var commands = {
'!help': {
name: '!help',
toRun: help,
typeOf: 'text',
description: "Shows help.",
hidden: false,
},
'more commands...'
基本上,你在代码中看到的第一个“!help”是在消息中要查找的内容,我不知道如何添加任何通配符,以便它可以在中间激活一句话。任何人都可以帮助我吗?
答案 0 :(得分:0)
我不得不稍微改变编码,因为它无论如何都没有按照它的方式运行。最后,Jonathan的评论帮助了我。 谢谢!
答案 1 :(得分:-1)
一种方法是在脚本上运行正则表达式:
var string="testing !help testing";
for(var cmd in commands)
if(new RegExp(cmd).test(string))
console.log('found: '+commands[cmd].description);
它可以使用任意数量的选项进行缩放,您可以使用找到的对象执行任何操作(或找不到,视情况而定)。你可以在这里看到它:https://jsfiddle.net/6Lccypc7/
如果你想要更多控制,可以使用正则表达式对象作为键并直接测试它们,这样你就可以使用锚点或其他任何你需要的东西。