也许我是傻瓜,但我不明白为什么StringTokenizer的行为在这里:
import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
String object = (String) value;
String escaped = escapeHtml(object);
StringTokenizer tokenizer = new StringTokenizer(escaped, escapeHtml("<br/>"));
Run Code Online (Sandbox Code Playgroud)
如果是fx.价值是
Hej<br/>$user.get(0).name Har vundet<br/><table border='1'><tr><th>Name</th><th>Played</th><th>Brewed</th></tr>#foreach( $u in $user )<tr><td>$u.name</td> <td>$u.played</td> <td>$u.brewed</td></tr>#end</table><br/>
Run Code Online (Sandbox Code Playgroud)
然后结果是
Hej
$use
.
e
(0).name Ha
vunde
a
e
o
de
='1'
h
Name
h
h
P
ayed
h
h
B
ewed
h
#fo
each( $u in $use
)
d
$u.name
d
d
$u.p
ayed
d
d
$u.
ewed
d
#end
a
e
Run Code Online (Sandbox Code Playgroud)
对我来说完全是无稽之谈.
我怎样才能让它像我期望的那样表现出来.
从文档:
delim参数中的字符是用于分隔标记的分隔符.分隔符字符本身不会被视为令牌.
换句话说,告诉StringTokenizer何时分离字符串的字符是:
当它匹配字符串中的任何字符(escaped代码中的变量)时,StringTokenizer实例将拆分结果并删除令牌.您可以通过注意r输出中没有出现该字母来确认这一点.
String.split相反,请使用其他人的建议.
| 归档时间: |
|
| 查看次数: |
4793 次 |
| 最近记录: |