在字符串标记器中使用句号作为字符串分隔符



我想从字符串标记中排除句号.,如下所示:

 I go to school.

希望将令牌生成为:

        [ I] [go] [to] [school]

我使用stringTokenizer作为:

List<String> listStr = new ArrayList<String>();
StringTokenizer strToken = new StringTokenizer(str);                    
int i =0;
while(strToken.hasMoreTokens()){
    listStr.add(i, strToken.nextToken());
    i=i+1;
}   

但是最后一个令牌是我不想要的school.。我该怎么做?

这不是更简单吗?

List<String> list = Arrays.asList("I go to school.".split("[ .]"));

System.out.println(list)打印

[I, go, to, school]

StringTokenizer 有一个构造函数,它接受另一个参数:充当分隔符的字符。以下代码对此进行了说明:

StringTokenizer tokenizer = new StringTokenizer("I go to school.", " trn.");
while(tokenizer.hasMoreElements()) {
    System.out.println(tokenizer.nextElement());
}

这是输出,应该是您想要的:

I
go
to
school

您可以对初始字符串执行此操作: string.replace(".", "")然后执行分词器。

StringTokenizer 可以采用很多分隔符,所以现在在你的例子中,你应该按照以下方式构建 strink tokenizer:

new StringTokenizer(yourString, " ."); 

仅此而已。

希望对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新