我试图找出一个字符串是否包含另一个字符串。但是,遗憾的是,fn:contains
函数区分大小写。有没有办法让它不区分大小写?
我试图将两者放在一个案例中:
fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false'
但由于方法的括号,它没有用。我也无法在f:to-upper
函数中使用f:contains
。
答案 0 :(得分: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'
部分完全是多余的,因为函数已经返回了该部分。
答案 1 :(得分:1)
对于那些刚刚发现此问题的人,@ BalusC的答案是正确的-但结构已更改,仅见fn:大写字母,fn:小写字母-不再看到ignoreCase选项,但是如果以某种方式强制转换另一个可以比较。