0

.次の場合のように、文字列トークンから終止符を除外したいと思います。

 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.私が望まないものです。どうすればいいですか?

4

4 に答える 4

5

これはもっと簡単ではありませんか?

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

System.out.println(list)版画

[I, go, to, school]
于 2012-05-08T13:25:31.747 に答える
2

StringTokenizer には、別の引数を取るコンストラクターがあります。区切り文字として機能する文字です。次のコードはこれを示しています。

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

これは出力です。これはあなたが望むものでなければなりません:

I
go
to
school
于 2012-05-08T13:28:01.683 に答える
1

StringTokenizerは多くの区切り文字を使用できるため、この場合、次の方法でstrinkトークナイザーを作成する必要があります。

new StringTokenizer(yourString, " ."); 

以上です。

それが役に立てば幸い。

于 2012-05-08T13:29:35.970 に答える
1

最初の文字列でこれを行うことができます。string.replace(".", "")次に、トークナイザーを実行します。

于 2012-05-08T13:25:54.427 に答える