问题是关于 '\t'在文本中实际所占多少个位置! 
当一个字符串中含有'\t'时系统默认是为1个字符的,但字符串打印出来后,'\t'所占的实际位置并不是一个字符的位置,从1到8个字符的位置都有可能。
现在问题来了,如何获得'\t'在文本中实际占据的位置。

解决方案 »

  1.   

    \t 横向跳格System.out.println("\t".length);
      

  2.   


    。。这个回答我看不明白,如果是str = "\t";的话,那str.length() == 1啊.我是问它在文本中实际占据的位置的多少,它可能占一格,也可能占八格
      

  3.   

    楼主就是想的到\t打印到文本后的实际占位空格数是吧?但是这个有什么意义吗?不管占位是多少大小都是1个字节,而且你也提到了\t打印到文本这个实际占位不同的程序会不同,比如你把.cs文件用notepad打开\t就是8个空格但是在IDE里面是4个。
      

  4.   

    \t要显示多宽的位置,这个跟你使用的文本编辑器是有关的,要看他们把\t解释成多宽,好比文字要显示多大一样,一般文本编辑器和IDE象
    vi, ultraEdit, Eclipse等等,都可以设置这个宽度。但在字符串中,\t就是一个字节,也就是8bit。
      

  5.   

    文件里就是1个字节吧 但是在现实的时候可能根据不同的IDE发生变化 这个如果你非要知道占了多少个 
    str=“dfdkjfkdjfld\tsfjldjfldjfl\tfjljfldjfd\t";
    然后str.replaceAll("\t","");
    完了后再存入文件 看看大小少了多少   在除个数