检查字符串是不是包含 Velocity 中的特定子字符串

Posted

技术标签:

【中文标题】检查字符串是不是包含 Velocity 中的特定子字符串【英文标题】:Checking if a string contains a particular substring in Velocity检查字符串是否包含 Velocity 中的特定子字符串 【发布时间】:2012-10-25 03:03:51 【问题描述】:

在 Velocity 中,我有一个名为 $url 的变量,其中包含以下字符串:[ContentId(2.7507), ContentId(2.7508), ContentId(1.44551)]

我想检查该字符串是否包含子字符串 1.44551。

这是我到目前为止编写的代码,但由于某种原因它返回 False:

#if($url.contains("1.44551"))
<p>The article content id is 1.44551</p>
#else
<p>The article content id isn't 1.44551</p>
#end

我希望这将返回 True,因为 1.44551 子字符串存在于 $url 变量中。请问谁能告诉我哪里出错了?

【问题讨论】:

乍一看还不错。如果您将测试编写为#if(true)#if($url.equals($url)):那么它会返回True 吗?我想我的意思是,确保 Velocity 正在评估表达式。 哎呀,同样的事情发生在我身上(但我意识到我试图使用 contains 的对象不是字符串!)...一旦我首先调用 toString 就很好,即@ 987654324@ 【参考方案1】:

Velocity 将值作为 Objects 保存在上下文映射中。

如果要执行 String 方法,请添加 toString 以确保在 String 上执行 contains 方法:

 #if($url.toString().contains("1.44551"))
<p>The article content id is 1.44551</p>
#else
<p>The article content id isn't 1.44551</p>
#end

【讨论】:

以上是关于检查字符串是不是包含 Velocity 中的特定子字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含 JavaScript 中的子字符串?

如何检查字符串是不是包含Ruby中的子字符串

MFC Treeview:如何检查 Treeview 是不是已经包含特定的子节点?