1

我试图找出一个字符串是否包含另一个字符串。但是,不幸的是,fn:contains函数是区分大小写的。有没有办法让它不区分大小写?

我试图将两者都放在一个案例中:

fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false'

但由于方法的括号,它不起作用。我也不能使用f:to-upper内部f:contains功能。

4

2 回答 2

2

有一个fn:containsIgnoreCase()。只需使用它。

#{fn:containsIgnoreCase(car.color, smartBean.txt)}

顺便说一句,您失败的toLowerCase()尝试应该如下完成:

#{fn:contains(fn:toLowerCase(car.color), fn:toLowerCase(smartBean.txt))}

使用toUpperCase()效果也很好:

#{fn:contains(fn:toUpperCase(car.color), fn:toUpperCase(smartBean.txt))}

也许你刚刚犯了一个 EL 语法错误。

请注意,该? 'true' : 'false'部分是完全多余的,因为它已经由函数返回。

于 2012-08-01T11:35:55.960 回答
1

对于那些刚刚发现这一点的人,@BalusC 的答案是正确的 - 但结构已经改变,只看到 fn:upper-case, fn:lower-case - 不再看到 ignoreCase 选项,但如果你以一种或另一种方式投射它比较,它会工作。

于 2020-11-16T15:55:47.313 回答