现在有一字符串
"a b c d "
分隔符为 \t
但用java的split和StringTokenizer分隔后,显示的字符长度为4
请问如何解决该问题,谢谢。
"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呀,你想要几呀
类库是这个样子,它是把多个分隔符都当一个处理了
除非你用与正则表达式去做