我有一个用例,其中会给我一个字符串,该字符串的单词使用:分隔,我需要将它们分成多个标记并以空格作为分隔符进行重构。
我正在JSP中尝试以下操作:
<c:forTokens var="word" delims=":" items= "Amit:Kumar:Pandit" varStatus="iterateor">
${word}
</c:forTokens>
最佳答案
您可以使用JSTL替换功能
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:set var="string1" value="Amit:Kumar:Pandit"/>
<c:set var="word" value="${fn:replace(string1,':', ' ')}" />
${word}
关于评论已更新
如果只想输出,则省略第一个就可以依靠迭代器变量,像这样
<c:forTokens var="word" delims=":" items= "Amit:Kumar:Pandit" varStatus="iterator">
<c:if test="${not iterator.first}">
${word} <br/>
</c:if>
</c:forTokens>
如果要存储到新变量,请再次省略第一个变量,您应该执行以下操作
<c:forTokens var="word" delims=":" items= "Amit:Kumar:Pandit" varStatus="iterator">
<c:set var="newArray" value="${iterator.index == 1 ? '' : newArray} ${word}" />
</c:forTokens>
${newArray}
关于java - 来自<c:forTokens>的 token 串联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28214977/