欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字符串截取方法总结

程序员文章站 2022-07-05 08:11:15
...
字符串截取
今在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))}

但注意的是:单独用需要"$",而嵌套来用嵌套部分的不需要"$",写了反而有问题的.
截取方法的总结:
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"));  
    }
}