この投稿では、ドットを使用してJavaで文字列を分割するさまざまな方法について説明します。 (.)、パイプ (|) またはドル ($) または疑問符 (?) 区切り文字として。

1.使用する String.split() 方法

標準的な解決策は、 split() によって提供される方法 String クラス。区切り文字として正規表現を取り、文字列アレイを返します。

ダウンロード  コードを実行する

 
上記のコードを実行すると、期待どおりに機能しません。これは、 split() メソッドは正規表現を取り、ドットは正規表現内の任意の文字と一致する特殊文字です。ドットを表す正規表現を作成することで、この動作を回避できます。これを行うにはいくつかの方法がありますが、以下で詳しく説明します。

⮚エスケープ文字を使用する

ドット文字をエスケープすることで、上記のコードを機能させることができます。エスケープ文字は、文字列の次の文字に対して代替解釈を呼び出します。 Javaでは、 \ (円記号)は、特殊文字をエスケープするために使用されます。 Javaは2つのバックスラッシュエスケープスタイルに従うことに注意してください。

ダウンロード  コードを実行する

⮚\Qと\Eの間のドットの折り返し

エスケープのもう1つのもっともらしい方法は、 \Q 後続のすべての特殊文字をバックスラッシュし、 \E 式を終了します。

ダウンロード  コードを実行する

Character Class

使用することもできます Character ドットをエスケープするためのJavaのクラス (.)、以下に示すように:

ダウンロード  コードを実行する

Pattern.quote()

別の良い代替手段は、 Pattern.quote()、指定された文字列のリテラルパターン文字列を返します。

ダウンロード  コードを実行する

2.Guavaを使用する Splitter Class

使用できます Splitter 以下に示すように、Guavaライブラリのクラス。 Iterable.

コードをダウンロード

3. ApacheCommonsLangの使用

また、 StringUtils.split() 指定された区切り文字を使用して文字列をアレイに分割するApacheCommonsLangライブラリのメソッド。

コードをダウンロード

4.使用する StringTokenizer Class

The StringTokenizer 以下に示すように、区切り文字を使用して文字列をトークンに分割できるレガシークラスです。

ダウンロード  コードを実行する

これで、ドット、ドル、または疑問符を区切り文字として使用してJava文字列を分割できます。