一个string对象长度超过40个汉字时,将其分割为两条
要求:
1、在分割汉字时候注意,不能将一个汉字分割成两个字节;

解决方案 »

  1.   

    gb2312用substring好像不会分出半个汉字
      

  2.   

    gb2312用substring绝对不会分出半个汉字,我试过很多次.
      

  3.   

    上楼的说法是正确的,因为汉字和字母之类的东西都是unicode编码
      

  4.   

    看这里: 
    http://www.blogjava.net/rickhunter/articles/26849.html里面有这样一道题的答案: 
    编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
      

  5.   

    Java 中的 String 是 UNICODE 的。
    相比之下, C++ 中有 ANSI 的(char[])和 UNICODE 的(wchar_t[])两种。在 Java 中,不可能出现半个汉字。关于这一点的更详细说明:
    http://www.regexlab.com/zh/encoding.htm
      

  6.   

    不可能出现半个汉字substring()
      

  7.   

    我觉得可以将字符串转成byte,然后两个字节取,这样就能分辨出中文了,如果有中文跟英文的情况也可以分出来,因为中文的byte肯定是小于零的。
      

  8.   

    你看一下这个例子就明白了..汉字没有被分开
    import java.io.*;public class aaa {
    public static void main(String[] args) {
                 int intOne;
        String subString=new String("ABC中华CDE");
        intOne=subString.length();
        System.out.println("个数"+intOne);
    String sub=subString.substring(4,6);
        System.out.println("===="+sub);
    }}