javascript提取句子的各个部分

javascript extract parts of a sentence

本文关键字:个部 提取 句子 javascript      更新时间:2023-10-05

嗨,我在JavaScript方面没有那么丰富的经验,我正在尝试将命令解析为完整的句子。它必须能够将句子与将要回答的函数匹配,并选择将作为参数传递的部分。我知道这还不太清楚,所以这里有一个例子:

sentnce = "Show me a gift of a car" 
commands = {
   gif: {
     pattern: "*gif of a [target]*" 
     action: gifMe(target)

这种情况应该会导致调用gimme("一辆车"),或者更好的是,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);   
}