我正在尝试拆分字符串(变量名称为colorString),如下所示。
'7000000000000003601/_/SHP_COLOR/_/Color/_/3.00000/_/7000000000006065548/_/DragonBerry/_/DragonBerry/_/49.00000/_/1/_/0/_/0/_/0/_/0/_/1/_/DragonBerry_Small.jpg'
我用字符串'/ _ /'拆分它 我需要的是最后一个元素'DragonBerry_Small.jpg' 我只得到Small.jpg
这是代码段
<c:set var="splitURI" value="${fn:split(colorString, '\\\/_\\\/')}"/>
<c:set var="imgName" value="${splitURI[fn:length(splitURI)-1]}"/>
我在这做什么..请帮助。
当有像'DragonBerry Small.jpg'这样的空间时,我面临同样的问题
答案 0 :(得分:0)
fn:基于单个字符而不是字符串拆分拆分。所以诀窍是做一个替换,你用字符串替换字符串中不会显示的字符(通常管道效果很好)。
示例:
<c:set var="colorStringTransformed" value="${fn:replace(colorString, '/_/', '|')}"/>
现在colorStringTransformed应该如下所示:
'700000000000000360|SHP_COLOR|Color|3.00000|7000000000006065548|DragonBerry|DragonBerry|49.00000|1|0|0|0|0|1|DragonBerry_Small.jpg'
然后你可以分开它。
<c:set var="splitURI" value="${fn:split(colorStringTransformed, '|')}"/>
<c:set var="imgName" value="${splitURI[fn:length(splitURI)-1]}"/>