Cómo obtener la lista de cadena de patrón y la cadena de coincidencias de expresiones regulares en Java

Bhavin S.:

Uso por primera vez que la declaración expresiones regulares.

Tengo declaración de expresiones regulares de Java, que se dividió por cadena patrón con la lista de algunos personajes.

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

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

salida del código anterior es como (018020000304050,12500)

En realidad quiero salida como esta, ( "F", "01", "T", "8", "B", "02", "S", "00003", "H", "04", "Z ", "05", "C", "0,12500").

Medios de salida deseada es de carácter contiene el patrón y el valor de división ambos.

Puede usted por favor me sugieren?

Kevin Cruijssen:

Puede utilizar una cadena # dividida en [A-Z]la que mantiene el delimitador como elemento separado :

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

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

Lo que resultará en la cadena de matriz:

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

Pruébelo en línea.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=180370&siteId=1
Recomendado
Clasificación