如何用java分隔带"\t"的字符串

现在有一字符串
"a b c d "

分隔符为 \t

但用java的split和StringTokenizer分隔后,显示的字符长度为4

请问如何解决该问题,谢谢。

 


问题补充:
应该是11呀,不应该是4,你可能少看了我的问题

"a b c d "后面有很多\t分隔符

问题补充:
还是不行呀,总是少掉最后一个字符

"BODY 134 1008 20090401000000 02 0 0 0"
这个字符串,用lovewhzlq给的方法总是少掉最后一个0,长度应该是16,但解析后的结果确是15,是哪里的原因呢?

[code="java"]
用这种方法可以正确得到

import java.util.*;
import java.util.regex.*;

public class Split {
public static void main(String[] args)
{
String str = " a b c d ";
Pattern p = Pattern.compile("\t");

    Matcher m = p.matcher(str);

    //保存结果数组
    List<String> ret = new ArrayList<String>();
    //临时变量
    String temp = null;
    int index = 0;
    while(m.find())
    {
        int start = m.start();

        temp = str.substring(index, start);
        ret.add(temp);

        index = m.end();

    }

    System.out.println(ret);
}

}

[/code]

本来就是4呀,你想要几呀

类库是这个样子,它是把多个分隔符都当一个处理了

除非你用与正则表达式去做