如何获取所有仅包含数字的帖子标签?



我在以下标签中有一个博客帖子: 鞋子, 男士, 20%,89我只想得到一个包含数字的标签,就我而言,我想得到89
标签
我尝试了很多方法,例如:

<b:loop values='data:post.labels' var='label'> <b:if cond='data:label.name gte 10'><data:label.name/> </b:if> </b:loop>

<b:loop values='data:post.labels' var='label'> <b:if cond='data:label.name > &quot;0&quot;   &quot;1&quot; or data:label.name  contains &quot;2&quot; or data:label.name  contains &quot;3&quot; or data:label.name  contains &quot;4&quot; or data:label.name  contains &quot;5&quot; or data:label.name  contains &quot;6&quot; or data:label.name  contains &quot;7&quot; or data:label.name  contains &quot;8&quot; or data:label.name  contains &quot;9&quot; or data:label.name  contains &quot;0&quot; '><data:label.name/> </b:if> </b:loop>

但它没有给出预期的结果

如@Bassam的答案:

标签名称被视为字符串(数据类型(而不是数字,因此无法使用某些数字运算符(如 gte lte(进行比较。可以使用字符串运算符==!=contains

但是,您可以在内部为一系列数字创建另一个循环,并检查标签名称是否与此范围内的某个数字匹配,如下所示:

<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:loop values='1 to 100' var='num'>
<b:if cond='data:label.name == data:num'><data:label.name/></b:if>
</b:loop>
</b:loop>
</b:if>

如果标签的名称超过 100,请考虑增加范围的末尾。

标签名称被视为字符串(数据类型(而不是数字,因此无法使用某些数字运算符(如gtelte(进行比较。您可以使用字符串运算符==!=contains

此外,在条件标记中,您必须用双引号将字符串括起来"89"&quot;89&quot;

<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "20%"'>
<data:label.name/> 
</b:if>
</b:loop>

编辑:如果您想获取包含任何数字的帖子标签

<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name contains "0" or data:label.name contains "1" or data:label.name contains "2" or data:label.name contains "3" or data:label.name contains "4" or data:label.name contains "5" or data:label.name contains "6" or data:label.name contains "7" or data:label.name contains "8" or data:label.name contains "9"'>
<data:label.name/>
</b:if>
</b:loop>

最新更新