Java с использованием разделителя группы в качестве разделителя - PullRequest
0 голосов
/ 22 января 2019

У меня есть строка, которую нужно разделить с помощью разделителя групп, который равен 0x1E в шестнадцатеричном формате.

Пример:

String notFinalized = HelloGuys
String finalized = Hello Guys // here, the delimiter should be 0x1E 

Как я могу это сделать? Я пытался Character.toString("0x1E"), но это не сработало.

Моя идея - преобразовать 0x1E в строку, поместить его в переменную и затем объединить эту переменную со строкой finalized.

1 Ответ

0 голосов
/ 22 января 2019

В Java символ можно рассматривать как байт.Вы можете объявить его читабельным способом: char a = '!' или по значению char a = 27 или в шестнадцатеричном формате char a = 0x1E

После этого вы можете добавить char к вашей String, используя некоторый метод String (например, replaceили idk)

char a = 0x1E;
String str = "test";
System.out.println(str.replaceAll('t', Character.toString(a));

Редактировать: в этом случае использовать метод Character.toString(), в результате replaceAll() ожидает String, а не char в качестве параметра.Character.toString() преобразует ваш символ в строку, используя читаемое значение.

Редактировать 2: Как упомянуто Томом Блоджеттом в комментариях: /! \ Символ не является байтом!Я написал «можно рассматривать как байт», чтобы обозначить: «он просто содержит числовое значение, как и байт, поэтому вы можете определить символ, как вы определяете байт, задав ему числовое значение».Но на самом деле символ идет от \u0000 до \uFFFF и кодируется в 2 байта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...