Бот Composer, как перебирать символы строки, используя язык lg? - PullRequest
0 голосов
/ 21 января 2020

Нам нужно извлечь число из фразы. Например:

"эй, 1234" -> "1234"

"ок, 4567" -> "4567"

"b3456f" -> "3456"

Но мы не нашли, как перебрать строку, используя только генератор языка бота Composer.

Мы пробуем такие вещи как:

join (foreach (createArray) ("ab c"), x, concat (x, '-')), '')

Но без результата ... есть ли какая-либо функция предварительной сборки, которая преобразует простую строку в массиве символов, так что мы можем перебирать символ за символом, используя foreach?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Насколько я знаю, в настоящее время это невозможно, поскольку нет способа перебрать строку или разбить строку на новый массив по символам. Я открыл проблему GitHub, чтобы запросить ее как расширение .

Для:

  • "эй, 1234" -> "1234"
  • "ок, 4567" -> "4567"

Вы можете использовать split().

К сожалению, вам не повезло с примером "b3456f" -> "3456", если только вы не знаете, что это произойдет в этом случае. точный формат, в этом случае вы можете использовать substring().

0 голосов
/ 21 января 2020

Возможно, вы могли бы использовать Regex для этого, если знаете, что форматы будут достаточно управляемыми, но другой вариант - посмотреть на службы понимания языка LUIS от Microsoft, которые созданы точно для понимания различных частей текстового сообщения, особенно в контексте бота. Вот ссылка на начало работы с этим, для C# (в меню чуть ниже по этой ссылке приведен пример узла, если это то, что вам нужно).

Также есть отметьте здесь на Stack Overflow , ориентированную только на LUIS, если у вас возникли проблемы или вам нужна дополнительная помощь.

Надеюсь, что это поможет

[Обновить] Я перечитал ваш вопрос и теперь я вижу, что речь идет о Bot Composer, а не о специально разработанном боте. В результате образец, на который я ссылался, недействителен, но LUIS, безусловно, так и есть. Я не использовал Bot Composer сам, но LUIS интегрирован как часть его - см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...