• ベストアンサー

スペースはトークンとしては利用されない?

javaを勉強している者です。 StringTokenizerクラスのnextToken()などでは、半角スペースはトークンとしては利用されず、その次にある文字を返すのでしょうか? (ex:" k"だとしたらkが返る) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.1

StringTokenizerは、区切り文字を指定して、その文字で文章を分割するクラスです。 また、区切り文字はトークンには使用されないようです。 この「区切り文字」に何を使ってるかで、半角スペースがトークンに利用されるかどうか決まります。 区切り文字はコンストラクタで指定するようで、指定しない場合、「 \t\n\r\f」となります。 つまり、空白(半角スペース)、タブ、改行文字が区切り文字として使われます。 なので、区切り文字を指定しなければ半角スペースはトークンには利用されません。 区切り文字を指定すれば、もちろんその区切り文字次第です。 ちなみに、スペースをトークンに指定したくなければ、半角文字を抜いて、 「\t\n\r\f」というように指定すればよさそうです。

参考URL:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/StringTokenizer.html
rapun
質問者

お礼

回答ありがとうございます。 なるほど。読んでいたコードでは、コンストラクタで指定していなかったので、半角スペースはトークンには利用されないようです。 ありがとうございます。解決しました。

すると、全ての回答が全文表示されます。

関連するQ&A