我想从字符串标记中排除句号.
,如下所示:
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, " .");
仅此而已。
希望对您有所帮助。