Bot Framework Composer特殊字符处理及HTTP请求前文本净化咨询
1. Bot Framework Composer中处理特殊字符的方法
- 用Adaptive Expressions的
replace函数:通过正则匹配特殊字符,替换为空或指定字符。比如要移除所有非字母数字和空格的字符,表达式为:replace(userInput, '[^a-zA-Z0-9\\s]', '') - 添加自定义代码动作:如果需要更复杂的处理逻辑,直接在Composer里加自定义代码活动,用C#或JavaScript写过滤逻辑,遍历字符把特殊符号筛掉,再返回处理后的文本。
- 配置输入验证规则:在对话的输入提示里设置验证规则,限制用户输入的字符类型,从源头减少特殊字符的输入。
2. Power Virtual Agents中移除特殊字符(HTTP请求前文本净化)
直接用Adaptive Expressions的replace函数结合正则就能实现,不用额外工具:
- 移除所有非字母数字、空格的特殊字符:在发送HTTP请求前,对要发送的文本变量用这个表达式:
replace(variables('textToSend'), '[^a-zA-Z0-9\\s]', '') - 要保留特定特殊字符(比如逗号、句号),调整正则把允许的字符加进去:
replace(variables('textToSend'), '[^a-zA-Z0-9\\s.,]', '') - 涉及中文等Unicode字符的场景,扩展正则范围:
replace(variables('textToSend'), '[^\\u4e00-\\u9fa5a-zA-Z0-9\\s]', '')
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

