Поиск в символьных строках Java
Операции со строками имеют определенное важное место в работе человека с кодом Java. Необходимо сортировать строки, проводить поиск подстроки и делать прочее форматирование. Однако, с каждой из этих операций необходимо знакомиться углубленно и с дополнительным материалом – с помощью репетитора это сделать сложновато без примеров. А значит, стоит прочесть данную статью, где будет разобрано все основное, что позволит новичку работать со строками кода в Java.
Поиск подстроки в строке
Для начала стоит заняться поиском подстроки в строке. Это – одно из легких операций, что можно сделать без подготовки. Здесь используется 2 метода. Первый – indexOf(), отвечающий за первое вхождение подстроки в строку, а второй – lastIndexOf(), отвечающий за последнее. В случае, когда подстроку не удается найти, оба метода вернут значение «-1». А выглядит это следующим образом:
String str = «Hello world»;
int index1 = str.indexOf(‘l’); // 2
int index2 = str.indexOf(«wo»); //6
int index3 = str.lastIndexOf(‘l’); //9
Также, присутствует 2 метода, определяющих, начинается ли строка с определенной подстроки и то же самое, но только с концом. За такие действия отвечают: startsWith() и endsWith() соответственно. А вот, как это можно показать на практике:
String str = «myfile.exe»;
boolean start = str.startsWith(«my»); //true
boolean end = str.endsWith(«exe»); //true
Это, в принципе, все, что требуется знать при поиске подстроки. Ничего более сложного на данном этапе изучения операций со строками Java не нужно познавать.
Сортировка строк
Еще можно работать с сортировкой строк в Java. Здесь пользователю необходимо использовать метод класса Arrays. Ниже приведен пример, когда производится сортировка по возрастанию:
import java.util.Arrays;
public class SortArray {
public static void main(String[] args) {
String[] arrNames = {«Deepak»,»Susan»,»Aarthi»,»Chetan»};System.out.println(«Arrays in original order: » + Arrays.toString(arrNames));
Arrays.sort(arrNames);
System.out.println(«Sorted array in ascending order: » + Arrays.toString(arrNames));
}
}
И вот, что программа выведет после этого в результате:
Arrays in original order: [Deepak, Susan, Aarthi, Chetan]
Sorted array in ascending order: [Aarthi, Chetan, Deepak, Susan]
Форматирование строк
Также, стоит разобрать несколько моментов, касающихся продвинутого форматирования строк. В таком случае, человеку станет известно, к примеру, об извлечении символов из строки, а также разбиении и соединении строк кода. О каждом из этих действий, как раз-таки, пойдет речь ниже.
Извлечение символов из строки
Чтобы извлечь символы, необходимо применить новый метод. Он называется charcharAt(intindex), начинает проверку по заданному индексу. После каждого вычисленного символа, он возвращает его. Если что – индексация в массивах, как всегда, начинается с 0 и идет только по возрастанию. Вот пример кода:
String str = «Java»;
char c = str.charAt(2);
System.out.println(c); // v
Когда необходимо извлечение целой группы символов, требуется использовать сложный по названию метод. Он обозначается как getChars(intsrcBegin, intsrcEnd, char[] dst, intdstBegin). Вот, что можно использовать из параметров для работы такого метода:
- srcBegin – обозначает точку, с которой ведется обработка данных;
- srcEnd – обозначает место, где необходимо прекратить процесс, закончив возвращение символов;
- dst – массив, который используется для возвращения символов – туда будет выводиться вся полученная информация;
- dstBegin – индекс массива, откуда необходимо добавлять извлеченные из строки символы.
Вот, как должно выглядеть в консоли применение этого метода с обозначенными для него параметрами:
String str = «Hello world!»;
int start = 6;
int end = 11;
char[] dst=new char[end — start];
str.getChars(start, end, dst, 0);
System.out.println(dst); // world
Соединение строк
Что немаловажно знать помимо вышеперечиленного – как соединяется строка. Как правило, человеку достаточно использовать операцию сложения, чтобы выполнить это действие:
String str1 = «Java»;
String str2 = «Hello»;
String str3 = str1 + » » + str2;System.out.println(str3); // Hello Java
Если же используется нестроковый объект, то он преобразуется в строке. К примеру, как в таком случае:
String str3 = «Год » + 2015;
Также, есть дополнительный способ объединения строк. Называется он concat(). А применение его показано в примере ниже:
String str1 = «Java»;
String str2 = «Hello»;
str2 = str2.concat(str1); // HelloJava
Последний метод называется join(). Он позволяет объединить с помощью разделителя строки. То есть, между словами в примере будет использован пробел:
String str1 = «Java»;
String str2 = «Hello»;
String str3 = String.join(» «, str2, str1); // Hello Java
Замена в строке
Очень простая операция касается замены информации в строке. То есть, необходимо использование лишь одного метода – replace(), чтобы изменить данные в одном участке кода на те, что указаны в другом. Вот, как это может выглядеть проще всего:
String str = «Hello world»;
String replStr1 = str.replace(‘l’, ‘d’); // Heddowordd
String replStr2 = str.replace(«Hello», «Bye»); // Bye world
Обрезка строки
Обрезка строки может потребоваться, когда необходимо внести корректировки во внешний вид кода. Однако, иногда ее применяют в том случае, если пробелы или что-то другое мешает правильно прочитать команды программы. В первом случае применяется метод trim() и выглядит пример его применения в 2 строках кода следующим образом:
String str = » hello world «;
str = str.trim(); // hello world
Стоит обратить внимание, что при таком раскладе убирается только начальный и конечный пробелы. Другие же, расставленные между словами, останутся нетронутыми.
Также, есть метод, что возвращает подстроку с определенного индекса до самого конца, либо же до указанного пользователем индекса с самого начала. Называется такая функция «substring()». Пример применения такого метода выглядит следующим образом и не вызовет затруднений в работе:
String str = «Hello world»;
String substr1 = str.substring(6); // world
String substr2 = str.substring(3,5); //lo
Как можно видеть, все представленные функции не такие уж и сложные. Они состоят, как правило, всего лишь из пару строк кода. А это значит, что можно без особых трудностей даже новичкам работать с элементами в Java и форматировать строки разными путями.