javascript 提取句子的一部分
javascript extract parts of a sentence
您好,我在 JavaScript 方面经验不足,我正在尝试解析作为完整句子给出的命令。它必须能够将句子与将回答的函数匹配,并且 select 部分将作为参数传递。我知道这不是很清楚,所以这里有一个例子:
sentnce = "Show me a gift of a car"
commands = {
gif: {
pattern: "*gif of a [target]*"
action: gifMe(target)
这种情况应该导致调用 gifMe("a car") 或什至更好,可以使用包含所有指定参数的对象调用 gimme,可能不仅仅是目标。我不知道如何编写代码或寻找一种方法来执行此操作。提前致谢。
这不相关(我认为),但我正在使用 jquery 和 Coffeescript。
我认为这就是您要查找的代码。有关其工作原理的更多信息,请参阅代码中的注释。
var sentence = "Show me a gift of a car";
// specify commands
var commands = {
gif: {
pattern: /gift of a (.*).?/,
action: call
}
// you can add more commands here
}
// iterate over all commands
for(var key in commands)
{
// get settings for command
var settings = commands[key];
// apply command regex to sentence
var result = sentence.match( settings.pattern );
// if there is a match trigger the action with the word as argument
if( result && result.length > 1 )
settings.action.call(this, result[1]);
}
function call(value)
{
alert(value);
}
您好,我在 JavaScript 方面经验不足,我正在尝试解析作为完整句子给出的命令。它必须能够将句子与将回答的函数匹配,并且 select 部分将作为参数传递。我知道这不是很清楚,所以这里有一个例子:
sentnce = "Show me a gift of a car"
commands = {
gif: {
pattern: "*gif of a [target]*"
action: gifMe(target)
这种情况应该导致调用 gifMe("a car") 或什至更好,可以使用包含所有指定参数的对象调用 gimme,可能不仅仅是目标。我不知道如何编写代码或寻找一种方法来执行此操作。提前致谢。
这不相关(我认为),但我正在使用 jquery 和 Coffeescript。
我认为这就是您要查找的代码。有关其工作原理的更多信息,请参阅代码中的注释。
var sentence = "Show me a gift of a car";
// specify commands
var commands = {
gif: {
pattern: /gift of a (.*).?/,
action: call
}
// you can add more commands here
}
// iterate over all commands
for(var key in commands)
{
// get settings for command
var settings = commands[key];
// apply command regex to sentence
var result = sentence.match( settings.pattern );
// if there is a match trigger the action with the word as argument
if( result && result.length > 1 )
settings.action.call(this, result[1]);
}
function call(value)
{
alert(value);
}