我无法理解如何在具有多个参数的构造函数的StringTokenizer类中计算令牌。
String line = ("This is a sample sentence, how many tokens are inside this sentence?") ;
new StringTokenizer(String str)
new StringTokenizer(String str, String delims )
如果我使用第一个带有line
参数的StringToknenizer构造函数并编写一个示例程序,结果为"thisisasamplesentencehowmanytokensareinside?"
和12个令牌。它返回整个句子,没有任何空格。我理解这是如何运作的。
如果使用带有两个参数的第二个构造函数(line, ",")
,我的测试程序将获得"this is a test sentence how many tokens are in this sentence? "
每个单词的空格,但没有逗号,只有2个标记。我认为它应该将空格和逗号分别作为标记分隔符计算,但它将逗号之前的所有内容计为1个标记,将逗号之后的所有内容计为1个标记。这部分令我困惑。
我的问题是我不明白如何使用带有多个参数(例如(line,“,”))的构造函数使用分隔符分隔标记。我错过了什么或误解了什么吗?
答案 0 :(得分:1)
如果没有指定分隔符,则
使用默认分隔符集,即“\ t \ n \ r \ n”:空格 字符,制表符,换行符, 回车字符和换页字符。
请参阅此链接。
如果指定,则仅应用该分隔符。