Ho un String
che contiene alcuni caratteri di controllo ASCII (ovvero RS
(0x1e) e US
(0x1f)). Li ho definito nel mio codice in quanto tale:Dividere una stringa di un byte
static public final byte RS = 0x1E;
static public final byte US = 0x1F;
avanti nel mio codice, voglio dividere una stringa utilizzando questi caratteri:
String[] records = content.split(String.valueOf(RS));
ma, che non funziona correttamente. Dopo un po 'ho trovato che questo
String[] records = content.split("\u001e");
funziona, ma in tal caso, devo ricordare i codici. Io uso il byte statico RS
anche in altre parti, quindi cambiando semplicemente non è un'opzione reale. Ovviamente potrei creare uno RS_STRING
o qualcosa del genere, ma questo significa doppio lavoro.
Qualsiasi soluzione pulita per questo?
Perché non usare solo 'public static final String RS_STRING = new String (nuovo byte [] {RS}, StandardCharsets.US_ASCII)'? –
'split()' prende un'espressione regolare, potrebbe essere necessario sfuggire al valore con 'Pattern.compile()'? – berry120
@ berry120 non ci sono caratteri speciali nella sua sequenza. – Maroun