Поиск определенного символа или подстроки
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Саратовский государственный технический университет имени Гагарина Ю.А.»
Кафедра «Прикладные информационные технологии»
ТЕХНОЛОГИИ ОБРАБОТКИ ИНФОРМАЦИИ
Методические указания к выполнению лабораторной работы
по курсу «Технологии обработки информации»
для студентов специальности 071900
«Информационные системы и технологии»»
Саратов 2018
Строки
Символьные строки применяются в большинстве программ - заголовки, имена, адреса, описания и т.д. Реализация строк на Java представлена тремя основными классами: String, StringBuffer, StringBuilder.
Класс String является стандартным классом, объектным представлением неизменяемого символьного массива. Класс содержит данные и методы для обработки этих данных. Последовательность символов строки является данными класса.
Классы StringBuffer, StringBuilder используются тогда, когда строку после создания требуется изменять.
Создание строк
Используя строковые литералы
Строковый литерал — последовательность символов, заключенных в двойные кавычки.
String s = "abc";
System.out.println(s); // Создали строку и вывели её значение "abc"
Или
System.out.println("abc"); // Создали строку и вывели её значение "abc"
С помощью конструкторов
Как и в случае любого другого класса, можно создавать объекты типа String с помощью оператора new. Для создания пустой строки используется конструктор без параметров:
|
|
String s = new String();
Создание строки из символьного или численного массива, переданных конструктору в качестве параметра.
char[] arrayOfChars = {'а', 'b', 'с'};
byte[] arrayOfBytes = {1, 9, 7};
String s = new String(arrayOfChars);
System.out.println(s); // Этот фрагмент кода выводит строку "abc"
String s = new String(arrayOfBytes);
System.out.println(s); // Этот фрагмент кода выводит строку "197"
У этого конструктора может быть 3 параметра:
String(char[] arrayOfChars, int начальныйИндекс, int числоСимволов);
char[] arrayOfChars = { 'a', 'b', 'с', 'd', 'e', 'f' };
String s = new String(chars, 2, 3);
System.out.println(s); // Этот фрагмент выведет строку "cde"
Определение длины строки
Метод int length()
Возвращает длину строки.
String s = "abc";
System.out.println(s.length); // Этот фрагмент выведет число 3
System.out.println("abc".length()); // Этот фрагмент выведет число 3
Извлечение символов из строки
Извлечение одиночного символа из строки.
Char charAt(int index);
Возвращает символ по указанному индексу.
String s = "abc";
char c = s.charAt(1); // Результат "b"
Извлечение нескольких символов из строки.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin), где
SrcBegin - индекс первого символа в исходной строке, с которого начинается копирование
|
|
SrcEnd - индекс символа в исходной строке, до которого происходит копирование, не включая его
Dst - имя целевого массива, в который происходит копирование
DstBegin - индекс в массиве dst с которого начинается вставка скопированных символов
Копирует символы из заданной строки в целевой массив символов. В приведенном ниже фрагменте показано, как следует извлекать массив символов из объекта типа String.
public class getCharsDemo {
public static void main(String args[]) {
String s = "This is a demo of the getChars method.";
int start = 10;
int end = 14;
char buf[] = new char[end - start];
s.getChars(start, end, buf, 0);
System.out.println(buf); // Результат копирования - строка "demo"
}
}
Сравнение строк
Если требуется определить, одинаковы ли две строки, следует использовать метод equals.
Boolean equals(Object anObject)
Метод сравнивает данную строку с указанным объектом.
s1.equals(s2);
Другой метод сравнивает данную строку с указанной, игнорируя регистр символов.
Boolean equalsIgnoreCase(String anotherString)
s1.equalsIgnoreCase(s2);
Ниже приведен пример, иллюстрирующий использование обоих методов:
public class equalDemo {
public static void main(String args[]) {
String s1 = "Hello";
String s2 = "Hello";
String s3 = "Good-bye";
String s4 = "HELLO";
System.out.println(s1 + " equals " + s2 + " -> " + s1.equals(s2));
|
|
System.out.println(s1 + " equals " + s3 + " -> " + s1.equals(s3));
System.out.println(s1 + " equals " + s4 + " -> " + s1.equals(s4));
System.out.println(s1 + " equalsIgnoreCase " + s4 + " -> " + s1.equalsIgnoreCase(s4));
}
}
Результаты:
Hello equals Hello -> true
Hello equals Good-bye -> false
Hello equals HELLO -> false
Hello equalsIgnoreCase HELLO -> true
Поиск определенного символа или подстроки
В класс String включена поддержка поиска определенного символа или подстроки, реализованная в виде следующих методов:
Int indexOf(int ch);
Дата добавления: 2019-03-09; просмотров: 107; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!