Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.
1 Сравняване на низове
Една от най-често срещаните операции с низове е сравнението. Класът String има над десет различни метода, които се използват за сравняване на един низ с друг низ. По-долу ще разгледаме 8 от основните.
Методи | Описание |
---|---|
|
Низовете се считат за равни, ако всичките им символи съвпадат. |
|
Сравнява низове, като игнорира големината на буквите (игнорира дали са главни or малки) |
|
Сравнява низове, връща броя на съответстващите знаци от началото на низа. |
|
Връща броя на съвпадащите знаци от началото на низ, игнорира главни и малки букви |
|
Сравнява части от низове |
|
Проверява дали текущият низ започва с низаprefix |
|
Проверява дали текущият низ завършва с низаsuffix |
Да приемем, че искате да напишете програма, която пита потребителя за път към файл и след това проверява типа на file въз основа на неговото разширение. Кодът на такава програма може да изглежда така:
Код | Бележки |
---|---|
|
Създаване на Scanner обект Прочетете ред от конзолата Проверете дали низът path завършва с дадения низ |
2 Търсене на поднизове
След сравняването на низове, втората най-популярна операция е намирането на един низ в друг. Класът String също има няколко метода за това:
Методи | Описание |
---|---|
|
Търси низа str в текущия низ. Връща индекса на първия знак от първото срещане. |
|
Търси низа str в текущия низ, като пропуска първите index знаци. Връща индекса на събитието. |
|
Търси низа str в текущия низ, започвайки от края. Връща индекса на първото срещане. |
|
Търси низа str в текущия низ от края, като пропуска първите index знаци. |
|
Проверява дали текущият низ съответства на модел, определен от регулярен израз. |
Методите indexOf(String)
и indexOf(String, index)
често се използват в комбинация. Първият метод ви позволява да намерите първото срещане на предадения подниз в текущия низ. А вторият метод ви позволява да намерите второто, третото и т.н. срещане, като пропуснете първите индексни знаци.
Да предположим, че имаме url като " https://domain.com/about/reviews " и искаме да заменим името на домейна с " codegym.cc ". URL addressите могат да имат всяHowви различни имена на домейни, но ние знаем следното:
- Името на домейна се предхожда от две наклонени черти — „//“
- Името на домейна е последвано от една наклонена черта напред — "
/
"
Ето How би изглеждал codeът за такава програма:
Код | Бележки |
---|---|
|
Създайте обект на скенер Прочетете ред от конзолата Вземете индекса на първото появяване на низа " // " Получаваме индекса на първото срещане на низа / , но гледаме само след срещане на знаците // . Получаваме низа от началото до края на знаците. // Получаваме низа от / до края. Свързваме низовете и новия домейн. |
Методите lastIndexOf(String)
и lastIndexOf(String, index)
работят по същия начин, само търсенето се извършва от края на низа към началото.
3 Създаване на поднизове
Фрагмент от лекция с ментор като част от курса на Codegym University. Запишете се за пълния курс.
В допълнение към сравняването на низове и намирането на поднизове, има още едно много популярно действие: получаване на подниз от низ. Както се случва, предишният пример ви показа substring()
извикване на метод, който върна част от низ.
Ето списък от 8 метода, които връщат поднизове от текущия низ:
Методи | Описание |
---|---|
|
Връща подниза, определен от диапазона на индекса beginIndex..endIndex . |
|
Повтаря текущия низ n пъти |
|
Връща нов низ: замества знака oldChar със знакаnewChar |
|
Заменя първия подниз, определен от регулярен израз, в текущия низ. |
|
Заменя всички поднизове в текущия низ, които съответстват на регулярния израз. |
|
Преобразува низа в малки букви |
|
Преобразува низа в главни букви |
|
Премахва всички интервали в началото и края на низ |
Ето обобщение на наличните методи:
substring(int beginIndex, int endIndex)
метод
Методът substring
връща нов низ, който се състои от знаци в текущия низ, започващ от знака с индекс beginIndex
и завършващ на endIndex
. Както при всички интервали в Java, символът с индекс endIndex
не е включен в интервала. Примери:
Код | Резултат |
---|---|
|
|
|
|
|
|
|
|
Ако endIndex
параметърът не е посочен (което е възможно), тогава поднизът се взема от знака в beginIndex до края на низа.
repeat(int n)
метод
Методът за повторение просто повтаря текущите n
времена на низа. Пример:
Код | Резултат |
---|---|
|
|
|
|
|
|
|
|
replace(chat oldChar, char newChar)
метод
Методът replace()
връща нов низ, в който всички символи oldChar
са заменени със знака newChar
. Това не променя дължината на низа. Пример:
Код | Резултат |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
и replaceAll()
методи
Методът replaceAll()
замества всички срещания на един подниз с друг. Методът replaceFirst()
замества първото появяване на предадения подниз с посочения подниз. Низът, който трябва да бъде заменен, се определя от регулярен израз. Ще се задълбочим в регулярните изрази в търсенето на Java Multithreading .
Примери:
Код | Резултат |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
методи
Запознахме се с тези методи, когато за първи път научихме за извикването на методите на String
класа.
trim()
метод
Методът trim()
премахва начални и завършващи интервали от низ. Не докосва интервали, които са вътре в низ (т.е. не в началото or края). Примери:
Код | Резултат |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION