|aa|你好|bb||aa|你好不好|bb|怎么截取,获得“你好你好不好”?

解决方案 »

  1.   

    String array[] = String.split("\\|");
      

  2.   

    一个汉字=2个字节
    str.getByte().length=2
      

  3.   


    你可以弄个循环啊,正则条件|| 字节长度=2 作为条件,满足条件的字符放到StringBuilder里,最后输出
      

  4.   

    有乱码可以先把字符串转换啊,也可以判断字节,不过这样方法有点笨,建议使用正则表达式,具体的正则表达式的语法可以去google一下啊
    转换就是
    byte [] b = 字符串.getByte("iso-8859-1");
    String str = new String(b,"GBK");
      

  5.   


    public class HelloWorld { /**
     * @param args
     */
    public static void main(String[] args) {

    String str = "abc甲d乙ef丙g";
    byte[] bs = str.getBytes();
    List<Byte> des = new ArrayList<Byte>();
    for(int i=0;i<bs.length;i++)
    if(bs[i]<0)
    {
    des.add(bs[i]);
    des.add(bs[++i]);
    }
        Byte[] bytes = des.toArray(new Byte[0]);
        byte []ss = new byte[bytes.length];
    for(int i=0;i<bytes.length;i++)
    {
    ss[i]=bytes[i];
    }

    System.out.println(new String(ss));
    }}