Есть двоичное число:
String s = "10000000001000000000101000000001"
Можно ли с помощью метода split()
разбить его на октеты?
console.log("10000000001000000000101000000001".split(/(?!^)(?=(?:.{8})+$)/))
Сплит тут подходит плохо... Регулярка по факту не очень быстрая. Почему не написать простой метод? Что-то типа этого:
private String[] divideBy (String numb, int digitNumb){
final String[]result = new String[numb.length()/digitNumb];
for (int i = 0; i < numb.length()/digitNumb; i++) {
result[i] = numb.substring(i*digitNumb, i*digitNumb+digitNumb);
}
return result;
}
Передаете первым аргументом свое число в стринге, а во втором количество цифр, на которое нужно поделить (по условию это 8, но можно поделить на любое количество) и получаете обычный массив.
Используйте
String s = "10000000001000000000101000000001";
String[] octets = s.split("(?<=\\G.{8})");
System.out.println(Arrays.toString(octets));
// = [10000000, 00100000, 00001010, 00000001]
См. демо онлайн.
Шаблон (?<=\G.{8})
представляет собой блок предварительного просмотра назад и находит позицию после любых первых восьми символов, а потом ещё после восьми и так далее.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Предположим что разрабатывается приложениеВыбран паттерн MVP
Есть некоторые представленияНужно вывести их в QTableView, а так же запрос всех представления существующих в БД, результат это