Azure Logic应用程序-条件,是否可以检查字符串响应中的字符数?(更多..)

dgenwo3n  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(102)

我正在Azure LogicApps中使用条件操作。目前我只检查“PersonNr”是否以“0000”结尾。它看起来是这样的:

我得到的值是一个12位数的出生号码,SSN。例如:199206243767就是yyyyDDmmxxxx。
我需要一个条件来检查我收到的值是否是一个12个字符的字符串。如果它小于12,那么它是错误的,我不想要它,但似乎没有任何选择。使用length()表达式也不起作用。
更何况。。我还想检查是否所有的字符,如果12 char字符串的值只有0-9。如果有信的话,我不想要。
我尝试添加“length()”表达式-- Is equal to --“12”,还有一个表示string(12)的表达式,我以为它会检查我收到的值是否有12个字符,但结果是这个错误:“'模板语言函数'length'需要一个参数:返回其长度的数组或字符串。已使用“0”参数调用函数。请参阅www. example www.example.com 。'.”

xv8emn3q

xv8emn3q1#

如果要检查字符串是否为数字,可以使用isInt()isFloat()。对于您的情况,isInt()更好,但您的数字太大,因此需要使用isFloat()

这就是表达方式。..

isFloat(variables('Numbers String'))

结果就是这样..

然后你可以从那里做你需要的事情,你甚至可以在条件中直接使用这个表达式。

g6ll5ycj

g6ll5ycj2#

我的问题很简单,现在我已经解决了,感谢“皮肤”帮助我重新思考。
当尝试添加一个length()表达式时,我使用了上面的compose操作的值。我需要做的是进一步检查每个循环值的电流。
最初我有这样的表达:“length(output('Composose ')?['persorgnr'])”
这导致了一个错误。
有效的表达是这样的:length(items('For_each_ResultSet')?['persorgnr'])
再次感谢Skin的回复,它帮助我认识到了我的错误。

相关问题