CharTokenizer 是一个抽象类,它主要是对西文字符进行分词处理的。常见的英文中,是以空格、标点为分隔符号的,在分词的时候,就是以这些分隔符作为分词的间隔符的。
实现 CharTokenizer 的具体类有 1 个,分别为: LetterTokenizer( 仅在核心包 ) 、
看看 LetterTokenizer 类:
做个测试就可以看到:
运行结果如下:
(startOffset=0,endOffset=4,term=what)
(startOffset=5,endOffset=8,term=are)
(startOffset=9,endOffset=12,term=you)
(startOffset=13,endOffset=18,term=doing)
(startOffset=19,endOffset=22,term=man)
(startOffset=23,endOffset=25,term=It)
(startOffset=26,endOffset=27,term=s)
(startOffset=28,endOffset=32,term=none)
(startOffset=33,endOffset=35,term=of)
(startOffset=36,endOffset=40,term=your)
(startOffset=41,endOffset=49,term=business)
看到了吗?不但逗号和问号被分开,而且连 It’s 这个也被分解为 It 和 s 了。
没有非字符的英文字母串就可以作为一个词条,一个词条长度的限制为 255 个字符,可以在 CharTokenizer 抽象类中看到定义:
private static final int MAX_WORD_LEN = 255;