如何检查字符串是否包含特定子字符串?
例如。我有一个名为{category.files}
的对象数组,并输出每个对象名称。
<f:for each="{category.files}" as="file">
<p>{file.name}</p>
</f:for>
现在我尝试检查名称是否包含特定的子字符串,如果输出为true?在我的情况下,我搜索子字符串 fire 。
我找到了VHS方法contains,但我不知道如何使用它,因为没有真正的例子。
在我的案例中它是如何运作的?
<f:for each="{category.files}" as="file">
??? ??? ??
<v:if.string.contains then="[mixed]" else="[mixed]" haystack="{file}" needle="fire">
<!--output it if found -->
<!-- else, do nothing -->
</v:if.string.contains>
</f:for>
换句话说,我尝试在 haystack 中搜索 fire 。
答案 0 :(得分:2)
heystack = string to compare
needle = string to find
如果{file.name}
可能有针,你应该这样做:
<f:for each="{category.files}" as="file">
<v:condition.string.contains haystack="{file.name}" needle="fire">
<f:then>
Needle found
</f:then>
<f:else>
Needle not found
</f:else>
</v:condition.string.contains>
</f:for>
已修改:正如评论中所述,要求的ViewHelper v:if.string.contains
已在所使用的版本中重命名为v:condition.string.contains
。