الانضمام إلى بوت الحرة مفتوحة المصدر المشروع في BotLibre.org
Self, AIML, and scripting

star (parameter with space or dash)

قبل Schrader نشر Mar 22 2018, 10:58

Hi, I have a pattern with 3 stars, pattern "* * *" template relearn();

then I can read sigle parameters by using:

var brand = sentence.get(#word, 0);
var series = sentence.get(#word, 1);
var year = sentence.get(#word, 2);

but one of the parameter can have space for example par1 par2 par 3

so the words become 4 becose a space.

I have to read 3 parameters from the 3 starts

How can I solve this situation ? 

 

Also if the user input 1par 2-par 3par, the second parameter is ignored I mean in #word1 I find obly 2 and not 2-par

 

 Thanks in advance


by admin posted Mar 22 2018, 13:43
To access * wildcards from a pattern use the "star" variable. For multiple stars this will be an array.

i.e.
var brand = star[0];
var series = star[1];
var year = star[2];

The star will be the whole string fragment matched to the wildcard.

Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 399, today: 1, week: 5, month: 5

معرف: 21407233
Tags: star (parameter with space or dash)
نشر: Mar 22 2018, 10:58
الردود: 1
الآراء: 419, اليوم: 1, الأسبوع: 4, الشهر: 4
أنا متأكد
العلم بعد اعتداء أو انتهاك قوانين الموقع