Comment obtenir la liste des chaînes de modèle et chaîne matcher en java regex

Bhavin S.:

Première utilisation I déclaration Regex.

J'ai déclaration java regex, qui a divisé par chaîne modèle avec liste de certains caractères.

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

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

sortie de code ci-dessus est comme (018020000304050,12500)

En fait, je veux sortie comme ça, ( "F", "01", "T", "8", "B", "02", "S", "00003", "H", "04", « Z », "05", "C", "0,12500").

Des moyens de sortie souhaitée est contient le caractère de motif et la valeur de division à la fois.

Pouvez-vous s'il vous plaît me suggérer?

Kevin Cruijssen:

Vous pouvez utiliser une chaîne # divisée sur ce [A-Z]qui maintient le séparateur comme élément séparé :

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

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

Ce qui se traduira par la chaîne-tableau:

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

Essayez en ligne.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=180363&siteId=1
conseillé
Classement