`

split 与tokenizer的区别

阅读更多

至于理论方面的就不多说了,大家可以查看api,现在主要举几个例子,说明两者的区别:

例子一:

String sample1="ben        ben" ;    //其中连个ben之间间隔8个空格

String[] split1 = sample1.split(" "); //通过一个空格隔离

final List<String> oLines = new ArrayList<String>();
 final StringTokenizer tokens = new StringTokenizer(sample1, " ");   

结果:split1.length 为9     oLines.size 为2

解释:如果用split进行分离的话,他会将空格也作为一个字符串存入数组, 而tokenizer不会

例子二:

 String t1 = "ben, ,,   ,,,ben";
  String[] split2 = t1.split(",");
  final ListoLines = new ArrayList();
   final StringTokenizer tokens = new StringTokenizer(t1, ",");
 

结果:split2.length 为7     oLines.size 为4

解释:tokenizer他会将连续相同的需要过滤的进行处理

总结:尤其是在进行空格过滤的时候,尽量的用tokenizer,如果用split很可能会出现许多,并不想得到的数据比如说空格(我是碰到过)

分享到:
评论
2 楼 stepinto 2011-10-25  
A token is a string of characters, categorized according to the rules as a symbol。 空格没有意义,所以不会被看作为token的一部分。
1 楼 clue 2009-02-04  
受教了
一直对这个tokenizer莫名其妙的,呵呵

相关推荐

Global site tag (gtag.js) - Google Analytics