スキャナーに特定の区切り文字をトークンとして使用させる良い方法を見つけようとしています。たとえば、テキストを数字のチャンクと数字以外のチャンクに分割したいので、理想的には区切り文字を\D
に設定し、useDelimiterAsToken のようなフラグを設定するだけですが、API を簡単に調べた後、私はそうではありません何でも思いつきます。現在、区切り文字に先読み/後読みを組み合わせて使用することに頼らなければなりませんでしたが、これはやや苦痛です:
scanner.useDelimiter("((?<=\\d)(?=\\D)|(?<=\\D)(?=\\d))");
これは、数字から非数字へ、またはその逆への遷移を探します。これを行うためのより健全な方法はありますか?