字符串截取方法总结

本文探讨了在使用Struts2框架的JSP页面中,如何通过标签和EL表达式进行字符串的截取操作。详细对比了Struts2标签对于字符串截取的支持情况,特别是对于嵌套标签的限制,并展示了如何使用EL表达式实现灵活的字符串处理。同时,文章总结了字符串截取方法,提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串截取
今在jsp页面中截取一段字符显示.项目用的struts2标签
经过反复的测试,struts2皆不支持标签的嵌套:
单独支持:
<s:property value='#attr.todo.description.indexOf('2')'/>

<s:property value='#attr.todo.description.length()'/>	

但不支持这种写法:
<s:property value="#attr.todo.description.substring(<s:property value='#attr.todo.description'/>, 
<s:property value='#attr.todo.description.indexOf('2')'/>,
<s:property value='#attr.todo.description.length()'/>)">
</s:property>

其<s:textfield>标签格式化显示日期,如下写法:
<s:textfield label="日期" name="todo.created" readonly="true">
<s:param name="value">
<s:date name="#attr.todo.created" format="yyyy-MM-dd HH:mm:ss"/>
</s:param>
</s:textfield>

话说:条条大道通罗马,只能换用EL表达式试试了,结果是一试就通,EL函数很给力啊!!!
${fn:substring(todo.description,fn:indexOf(todo.description,2),fn:length(todo.description))}

但注意的是[size=medium]:[color=red]单独用需要"$",而嵌套来用嵌套部分的不需要"$",写了反而有问题的.[/color][/size]
截取方法的总结:
public class StringSub {
public static void main(String[] argu)
{
String str="abcdefghmf";
System.out.println("截取前三个字符:"+str.substring(0, 3));
System.out.println("截取前三个字符以外的字符:="+str.substring(3));
System.out.println("截取后三个字符:"+str.substring(str.length()-3,str.length()));
System.out.println("截取后三个字符:"+str.substring(str.length()-3,str.length()));
System.out.println("截取字符'f'前的字符:"+str.substring(0,str.indexOf("f")));
System.out.println("截取字符'f'后(包括'f')的字符:"+str.substring(str.indexOf("f"),str.length()));
System.out.println("截取字符'f'和字符'h'之间(包括'f')的字符:"+str.substring(str.indexOf("f"),str.indexOf("h")));
System.out.println("获取取第一个字符'f'的下标:"+str.indexOf("f"));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值