字符串截取方法总结
程序员文章站
2022-07-05 08:11:15
...
字符串截取
今在jsp页面中截取一段字符显示.项目用的struts2标签
经过反复的测试,struts2皆不支持标签的嵌套:
单独支持:
但不支持这种写法:
其<s:textfield>标签格式化显示日期,如下写法:
话说:条条大道通罗马,只能换用EL表达式试试了,结果是一试就通,EL函数很给力啊!!!
但注意的是:单独用需要"$",而嵌套来用嵌套部分的不需要"$",写了反而有问题的.
截取方法的总结:
今在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")); } }