请问JSP 如何截取一串字符中的一段
发布时间:2025-05-19 06:13:53 发布人:远客网络
一、请问JSP 如何截取一串字符中的一段
1.使用public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
public String getString(int i){
String test="360000,360001,360002,aaaa,bbbbb,cccaaa,55555,343434,fdsfadsf";
String[] str=test.split(",");
/*第4个元素就是第4个","和第5个","之间的字符串,str[]数组放着以","为断点截取的所有字符串根据你的需要提取数组中的元素就可以了
第一到第二个","的字符串是str[1]
第2个到第3个","的字符串是str[2]
第3个到第4个","的字符串是str[3]
第4个到第5个","的字符串是str[4].......*/
String test="360000,360001,360002,aaaa,bbbbb,cccaaa,55555,343434,fdsfadsf";
//创建一个数组用于存放字符‘,’出现的位置的索引。
//截取每一个字符,如果字符==','就将这个字符的位置存放到数组中,同时数组的下标+1;
for(int i=0;i<test.length();i++){
if(test.charAt(i)==','){
/*第4个字符的位置应该等于num[3],第5个字符的位置应该等于num[4],但是substring()方法截取字符串时包含开始位置字符,不包含结束位置字符。所以num[3]要+1。*/
String str=test.substring(num[3]+1,num[4]);
在JSP页面中使用的地方用<%=getString()>调用就可以了。
二、用jstl表达式怎么将在jsp页面取出的字符串转换成整型数据
JSP中JSTL提供的函数标签EL表达式操作字符串的方法首先在jsp页面导入标签<%@ taglib prefix="fn" uri=""%>分类:(1)转换字符串大小写: toLowerCase("要截取的字符串")----转换成小写----例:${fn:toLowerCase("Hello,Word!")} toUpperCase("要截取的字符串")----转换成大写----例:${fn:toUpperCase("Hello,Word!")}(2)截取字符串: substring("原字符串",开始的索引,结束的索引)----截取字符串----例:${fn:substring("Hello,Word!",0,5)} substringAfter("原字符串","索引串")----取索引串之后的内容----例:${fn:substringAfter("Hello,Word!","Hello,")} substringBefore("原子付出","索引串")----取索引串之前的内容----例:${fn:substringBefore("Hello,Word!","Word!")}注:如果字符串中未包含索引串,返回空字符串.(3)去空格: trim("原字符串")----去掉字符串前后的空格----例:${fn:trim(" Hello,Word!")}(4)替换字符: replace("原字符串","要替换的字符","替换后的字符")----替换字符----例:${fn:replace("Hello,Word!","Word","你好")}(5)字符串匹配查找: indexOf("字符串","子字符串")返回int----求字符串第一次出现的下标----例:${fn:indexOf("Hello,Word!",",")} startsWith("字符串1","字符串2")返回boolean----判断一个字符串是否已另一个字符串开头----${fn:startsWith("Hello,Word","H")} endsWith("字符串1","字符串2")返回boolean----判断一个字符串是否已另一个字符串结尾----${fn:endsWith("Hello,Word","h")} contains("字符串1","字符串2")返回boolean----判断一个字符串是否包含另一个字符串----${fn:contains("Hello,Word","Hello")} containsIgnoreCase("字符串1","字符串2")返回boolean----判断一个字符串是否包含另一个字符串,不区分大小写----${fn:containsIgnoreCase("Hello,Word","w")}(6)拆分、合并字符串 split("原字符串","拆分的分界符")----把字符串拆分成数组----例:${fn:split("Hello,Word!",",")} join("字符串数组","组合后的分隔符")----把字符串数组组合成字符串----例:${fn:join(strArray,"|")}(7)将字符串中的XML符号转换成实体符号: escapeXml("要转换的字符串")----不解析xml标签,直接输出----例:${fn:escapeXml("<b>Hello,Word!</b>")}(8)计算字符串长度 length("字符串")返回int----求字符串的长度----例:${fn:length("Hello,Word!")}范例如下:/***********截取一定长度字符串*****************/在应用程序开发中,如果内容过长,想截取一定长度字符,然后补充"....." jstl1.1引入了一个fn.tld的标签,用于处理字符,如获得字符length,substring,indexof,endWith,lowcase实现截取字符串如:<c:set var="log.logTitle" value="做一个截取字符串长度的测试"<c:choose><c:when test="${fn:length(log.logTitle)> 10}"><c:out value="${fn:substring(log.logTitle, 0, 10)}......"/></c:when><c:otherwise><c:out value="${log.logTitle}"/></c:otherwise></c:choose>/*****************截取一定长度字符串***************/ JSTL使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错。因此JSTL内置了几个用于字符串操作的方法,可以直接在表达式中使用,大大的简化了代码,提供代码的可读性。在JSTL的表达是中要使用一个函数,其格式如下${fn:methodName(args....)}在使用这些函数之前必须在JSP中引入标准函数的声明<%@ taglib prefix="fn" uri=""%>下面是JSTL中自带的方法列表以及其描述函数名函数说明使用举例 contains判断字符串是否包含另外一个字符串<c:if test="${fn:contains(name, searchString)}"> containsIgnoreCase判断字符串是否包含另外一个字符串(大小写无关)<c:if test="${fn:containsIgnoreCase(name, searchString)}"> endsWith判断字符串是否以另外字符串结束<c:if test="${fn:endsWith(filename,".txt")}"> escapeXml把一些字符转成XML表示,例如<字符应该转为<${fn:escapeXml(param:info)} indexOf子字符串在母字符串中出现的位置${fn:indexOf(name,"-")} join将数组中的数据联合成一个新字符串,并使用指定字符格开${fn:join(array,";")} length获取字符串的长度,或者数组的大小${fn:length(shoppingCart.products)} replace替换字符串中指定的字符${fn:replace(text,"-","")} split把字符串按照指定字符切分${fn:split(customerNames,";")} startsWith判断字符串是否以某个子串开始<c:if test="${fn:startsWith(product.id,"100-")}"> substring获取子串${fn:substring(zip, 6,-1)} substringAfter获取从某个字符所在位置开始的子串${fn:substringAfter(zip,"-")} substringBefore获取从开始到某个字符所在位置的子串${fn:substringBefore(zip,"-")} toLowerCase转为小写${fn.toLowerCase(product.name)} toUpperCase转为大写字符${fn.UpperCase(product.name)} trim去除字符串前后的空格${fn.trim(name)}
三、怎样在html里面 截取字符串的前3位
1、方法一:利用css,其优点是内容可以为任何HTML元素,包括超链接和图片等,在IE6中还会在结尾自动显示省略号。缺点是必须指定宽度数值,并且宽度不能是百分数,否则在IE中会被认为是字符总长的百分比。如下例:
2、<div style="width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;">任意长度的字符串</div>
3、方法二:利用表单中的input,其优点是宽度可以设为百分数。但缺点是内容只能为纯文本,不能有超链接等内容。如下例
4、<input type=”text” style=”width:100%; cursor:default; border-width:0; border-style:none; background-color:transparent;” value=”任意长度的字符串” readonly/>