在 JSP 中 如何只显示数据中的前 N 个字呢要求是对中文或英文有所区别。

解决方案 »

  1.   

    String tt=new String("abcdefg");
    ww=tt.substring(1,2);
    结果为:ab
      

  2.   

    判断一下length()先,免得NullPointException
      

  3.   

    <SCRIPT language=javascript>
    var srcc = window.location; //得到地址栏连接
    srcc = srcc.toString() //转换成string类型,可以省略
    start = srcc.indexOf("?"); //返回"?"在字串中第一次出现的位置
    end = srcc.length; //字串的长度
    srcc.substring(start+1,end) //得到部分字串
    </SCRIPT>
      

  4.   

    楼上
    ww=tt.substring(0,2);
    结果才为:ab不过这样做中英文分不出来想细分就得解析字符串了
      

  5.   

    Tulipme() ( ) 信誉:100 
    初步提出:
    String tt=new String("abcdefg");
    ww=tt.substring(0,2);
    结果为:ab
    不过正如jlusdy(LOST) ( ) 信誉:100 所说的
    对中文还是不支持.
    中文一般占两个字节.
    可读取出来就有点问题了
    如:<%
    String tt=new String("a中国bcfg");
    String ww=tt.substring(0,2);
    out.print("www:"+ww);
    %>
    显示为:
    www:a中
      

  6.   

    找下 subString 的用法 不就行了 
    这个我不是经常用的 所以就不显丑陋了!
      

  7.   

    或者是只截取前两个字节?如果是只截取前两个字节的话
    那String str="a中";这个岂不是要截取半个"中"字?
      

  8.   

    substring是按字符截取的吧。。跟字节有关系么?
      

  9.   

    楼主希望是什么样的结果?
    比如对于像“我们的zuguo像花园,花园de花朵zhenxianyan”这种字符串,
    如果截取 25 时,楼主希望得到什么样的结果呢?
      

  10.   

    哈哈,楼主是想显示固定长度的字符串吧,如果显示在网页或是其它地方的话,请再多考虑一下另一个可变因素---显示的字符串的样式,英文字符和中文字符在显示的时候会因字体的不同而所占的宽度也会不同,不信的话你可以在网页上输入一行中文一行英文(与中文1:2的个数),改变字体,看两行是否完全相同
    我觉得如果楼主是要在网页上做显示控制的话,不防用一个CSS去做长度的控制,这个简单、方便、准确!!!