Javaの正規表現のパターン文字列のリストと照合する文字列を取得する方法

Bhavin S.:

初めて私は、正規表現のステートメントを使用します。

私はいくつかの文字のリストとのパターンで文字列を分割するJava正規表現の文を、持っています。

String line = "F01T8B02S00003H04Z05C0.12500";
Pattern pattern = Pattern.compile("([BCFHSTZ])");
String[] commands = pattern.split(line);

for (String command : commands) {
 System.out.print(command);
}

上記のコードの出力は次のようである(018020000304050.12500)

実際に私はこのような出力( "F"、 "01"、 "T"、 "8"、 "B"、 "02"、 "S"、 "00003"、 "H"、 "04"、「Zが欲しいです」、 "05"、 "C"、 "0.12500")。

所望の出力があることを意味は、パターン文字と分割値の両方が含まれています。

あなたは私を提案してくださいことはできますか?

ケビンCruijssen:

あなたは使用することができます文字列#分割[A-Z]どの分離項目として区切り文字を保持します

String line = "F01T8B02S00003H04Z05C0.12500";
String[] result = line.split("((?<=[A-Z])|(?=[A-Z]))");

System.out.println(java.util.Arrays.toString(result));

これは文字列のアレイになります。

[F, 01, T, 8, B, 02, S, 00003, H, 04, Z, 05, C, 0.12500]

オンラインそれを試してみてください。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=180361&siteId=1