Строка поиска для чисел

У меня есть чат-бот на javascript, где человек может ввести в поле ввода любой вопрос, который ему нравится, и надеяться получить точный ответ. отвечать. Я могу это сделать, но я знаю, что делаю это неправильно, потому что я не знаю, в какой позиции в предложении появится число. Если человек вводит точно:

чему равен квадратный корень из 5, это работает нормально.

Если он вводит подобные вещи, это не так.

что такое квадратный корень из 5

что такое квадратный корень из 5

знаете ли вы, что такое квадратный корень из 5

и т. д.

Мне нужно определить, где число появляется в предложении, затем выполните расчет оттуда. Обратите внимание, что строка ниже является частью более крупного работающего чат-бота. В строке ниже я просто пытаюсь ответить на любой вопрос о квадратном корне, независимо от того, где в предложении появляется число. Я также знаю, что есть много ловушек с открытым полем ввода, где человек может ввести что угодно, например, орфографические ошибки и т. Д. Это просто для развлечения, а не для серьезного научного проекта. :)

if(
    (word[0]=="what's") &&
    (word[1]=="the") &&
    (word[2]=="square") &&
    (word[3]=="root") &&
    (word [4]=="of") &&
    (input.search(/\d{1,10}/)!=-1) &&
    (num_of_words==6)
){        
    var root= word[5];
    if(root<0){ 
        document.result.result.value = "The square root of a negative number is not possible.";
    }else{
         word[5] = Math.sqrt(root);
         word[5] = Math.round(word[5]*100)/100 
         document.result.result.value = "The square root of "+ root +" is "+ word[5] +"."; 
    }
    return true;
}

Просто для ясности, бот написан с использованием «операторов If» по какой-то причине. Если ввод в этом случае не включает слова «какой», «квадратный корень» и «какое-то число», строка не срабатывает, и бот отвечает дальше вниз общим «Я не знаю тип отклик". Поэтому я надеюсь, что любой ответ будет соответствовать формату, который я использую. Будьте добры, я здесь новенький. Мне нравится делать ботов, но я не очень хороший программист. Спасибо.

5
задан Kendall Frey 7 June 2012 в 23:53
поделиться