gpt4 book ai didi

java - StringTokenizer 类 --- 使用 Delimiters 作为标记分隔符

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:37 25 4
gpt4 key购买 nike

我无法理解 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, ",") 我的测试程序将得到 “这是一个测试句子,这个句子中有多少个标记?” 每个单词都有空格,但没有逗号,只有 2 个标记。我认为它应该将空格和逗号都计为标记分隔符,但它将逗号之前的所有内容都计为 1 个标记,将逗号之后的所有内容都计为 1 个标记。这部分让我很困惑。

我的问题是我不明白如何使用带有多个参数(例如(line,“,”))的构造函数使用分隔符来分隔标记。我是否遗漏了什么或误解了什么?

最佳答案

如果没有指定分隔符,则为

uses the default delimiter set, which is " \t\n\r\f": the space character, the tab character, the newline character, the carriage-return character, and the form-feed character.

请参阅此链接。

http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html#StringTokenizer(java.lang.String)

如果指定,则仅应用该分隔符。

关于java - StringTokenizer 类 --- 使用 Delimiters 作为标记分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com