我正在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 。'.”
2条答案
按热度按时间xv8emn3q1#
如果要检查字符串是否为数字,可以使用
isInt()
或isFloat()
。对于您的情况,isInt()
更好,但您的数字太大,因此需要使用isFloat()
。这就是表达方式。..
结果就是这样..
然后你可以从那里做你需要的事情,你甚至可以在条件中直接使用这个表达式。
g6ll5ycj2#
我的问题很简单,现在我已经解决了,感谢“皮肤”帮助我重新思考。
当尝试添加一个length()表达式时,我使用了上面的compose操作的值。我需要做的是进一步检查每个循环值的电流。
最初我有这样的表达:“length(output('Composose ')?['persorgnr'])”
这导致了一个错误。
有效的表达是这样的:length(items('For_each_ResultSet')?['persorgnr'])
再次感谢Skin的回复,它帮助我认识到了我的错误。