2014-12-01 5 views
0

Я пытаюсь разбить строку (имя переменной colorString), как показано ниже ..JSTL маркер функция разделения

'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]}"/>  

Что я делаю here..Please помощь.

я столкнулся такая же проблема, когда есть пространство, как «DragonBerry small.jpg»

ответ

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]}"/> 
+0

Спасибо, что работает сейчас. – user3085317

Смежные вопросы