Mam String
, który ma pewne znaki kontrolne ASCII w nim (a mianowicie RS
(0x1e) i US
(0x1f)). I one zdefiniowane w moim kodu, takich jak:Podziel ciąg znaków przez bajt
static public final byte RS = 0x1E;
static public final byte US = 0x1F;
później w moim kodu, chcę podzielić ciąg za pomocą tych znaków:
String[] records = content.split(String.valueOf(RS));
jednak, że nie działa poprawnie. Po kilku błahostkach stwierdziłem, że to działa, ale w takim przypadku muszę zapamiętać kody. Używam statycznego bajtu RS
również w innych częściach, więc po prostu zmieniając to nie jest prawdziwa opcja. Mógłbym oczywiście stworzyć RS_STRING
lub coś takiego, ale to oznacza podwójną pracę.
Jakieś dobre, dobre rozwiązanie do tego?
Dlaczego po prostu nie używać 'public static final String RS_STRING = new String (nowy bajt [] {RS}, StandardCharsets.US_ASCII)'? –
'split()' pobiera wyrażenie regularne, może być konieczne pominięcie wartości za pomocą 'Pattern.compile()'? – berry120
@ berry120 W jego sekwencji nie ma znaków specjalnych. – Maroun