javascript提取句子的一部分

时间:2015-02-12 22:33:41

标签: javascript jquery coffeescript text-parsing string-parsing

你好,我没有经验丰富的JavaScript,我试图解析作为完整句子给出的命令。它必须能够将句子匹配到将回答的函数,并选择它将作为参数传递的部分。我知道这不太清楚,所以这里有一个例子:

sentnce = "Show me a gift of a car" 

commands = {
   gif: {
     pattern: "*gif of a [target]*" 
     action: gifMe(target)

这种情况应该导致调用gifMe("汽车")甚至更好,可以使用包含所有指定参数的对象调用gimme,可能不仅仅是目标。我不知道如何编写此代码或搜索方法来执行此操作。提前致谢。

它不相关(我认为),但我使用的是jquery和Coffeescript。

1 个答案:

答案 0 :(得分:1)

我认为这是您正在寻找的代码。请参阅代码中的注释,以获取有关其工作原理的更多信息。

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);   
}