Иллюстрированный самоучитель по Java

       

Как выбрать символы из строки


Выбрать символ с индексом

ind

(индекс первого символа равен нулю) можно методом

charAt(int ind)

Если индекс

ind

отрицателен или не меньше чем длина строки, возникает исключительная ситуация. Например, после определения

char ch = s.charAt(3);

переменная

ch

будет иметь значение

't'

Все символы строки в виде массива символов можно получить методом



toCharArray()

, возвращающим массив символов.

Если же надо включить в массив символов

dst

, начиная с индекса

ind

массива подстроку от индекса

begin

включительно до индекса

end

исключительно, то используйте метод

getChars(int begin, int end, char[] dst, int ind)

типа

void

.

В массив будет записано

end - begin

символов, которые займут элементы массива, начиная с индекса

ind

до индекса

in

d + (end - begin) - 1

.

Этот метод создает исключительную ситуацию в следующих случаях: 

ссылка

dst = null

индекс

begin

отрицателен; 

индекс

begin

больше индекса

end

;

индекс

end

больше длины строки; 

индекс

ind

отрицателен;

ind + (end — begin) > dst.length.

Например, после выполнения

char[] ch = ('К', 'о', 'р', 'о', 'л', 'ь', ' ', 'л', 'е', 'т', 'а'};

"Пароль легко найти".getChars(2, 8, ch, 2);

результат будет таков:

ch = ('К', 'о', 'р', 'о', 'л', 'ь ', ' ', 'л', 'е', 'т', 'а'};

Если надо получить массив байтов, содержащий все символы строки в байтовой кодировке ASCII, то используйте метод

getBytes()

.

Этот метод при переводе символов из Unicode в ASCII использует локальную кодовую таблицу.

Если же надо получить массив байтов не в локальной кодировке, а в какой-то другой, используйте метод

getBytes(String encoding)

.

Так сделано в листинге 5.1 при создании объекта msg. Строка "\'Тоссия в\"" перекодировалась в массив СР866-байтов для правильного вывода кириллицы в консольное окно

Command Prompt

операционной системы Windows 2000.



Содержание раздела