我对Watson Conversation和Watson来说很新,而且我在Watson Conversation应用程序中遇到过我想要处理的情况,但我无法弄明白。
基本上我想添加一个"高级"条件反应所以可以做例如:
条件:if @sys-number == Integer
响应:@sys-number是一个整数。
@ sys-number == Double
的条件回复:@ sys-number是双倍的。
目前我已经陷入困境,因为我可以通过执行@ sys-number.numeric_value.class来获取@sys-number类,该类的计算结果为: "类java.lang.Integer",但我无法在条件字段中进行比较。
我试图做几件不同的事情,其中最明显的是
if(@ sys-number instanceof java.lang.Integer)
我知道这可以在应用程序端处理,但是如果可能的话,想要一个Conversation方面的解决方案。
答案 0 :(得分:1)
本质上,'@ sys-number'实体是一个字符串,因为它属于用户的输入。 因此,如果您想测试用户输入识别的@sys-number实体可以转换为整数或浮点数,您必须尝试:
IF @sys-number AND input.text.find('\d+')
IF @sys-number AND input.text.find('\d+[,\.]\d+')
当且仅当没有触发任何条件时,@ sys-number来自字母输入
答案 1 :(得分:0)
使用正则表达式,例如以下内容将查找整数。
/^[0-9]*$/