JavaRush /Курстар /All lectures for KK purposes /Java тіліндегі жолдармен жұмыс

Java тіліндегі жолдармен жұмыс

All lectures for KK purposes
Деңгей , Сабақ
Қол жетімді

1. Жолдарды салыстыру

Салыстыру – жолдармен орындалатын ең жиі нәрселердің бірі. String класында жолдарды салыстыру үшін оннан астам әртүрлі әдістер бар. Төменде біз жеті негізгісін қарастырамыз.

Әдістер Сипаттама
boolean equals(String str)
Жолдар тең деп саналады, егер барлық символдары сәйкес келсе.
boolean equalsIgnoreCase(String str)
Жолдарды регистрді ескерусіз салыстырады
int compareTo(String str)
Жолдарды лексикографиялық тұрғыдан салыстырады. Жолдар тең болса, 0 қайтарылады. Ағымдағы жол параметр жолынан кіші болса, нөлден кіші сан қайтарылады. Ағымдағы жол параметр жолынан үлкен болса, нөлден үлкен сан қайтарылады
int compareToIgnoreCase(String str)
Жолдарды лексикографиялық тұрғыдан салыстырады, регистрді ескермейді. Жолдар тең болса, 0 қайтарылады. Ағымдағы жол параметр жолынан кіші болса, нөлден кіші сан қайтарылады. Ағымдағы жол параметр жолынан үлкен болса, нөлден үлкен сан қайтарылады
boolean regionMatches(int toffset, String str, int offset, int len)
Жолдардың бөліктерін салыстырады
boolean startsWith(String prefix)
Ағымдағы жол prefix жолымен басталатынын тексереді
boolean endsWith(String suffix)
Ағымдағы жол suffix жолымен аяқталатынын тексереді

Мысалы, сен қолданушыдан файл жолын сұрап, оның кеңейтілімі бойынша қандай файл екенін тексеретін бағдарлама жазғың келсе, онда бағдарлама коды шамамен келесідей болар еді:

Код Ескертпелер
Scanner console = new Scanner(System.in);
String path = console.nextLine();

if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("Бұл Jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("Бұл HTML бет");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("Бұл Word құжаты");
}
else
{
   System.out.println("Белгісіз формат");
}
Scanner объектісін жасау
Консольдан жолды оқу

Строканың path берілген жолмен аяқталатынын тексереміз


2. Подстроктарды іздеу

Жолдарды салыстырғаннан кейінгі екінші танымал операция – бір жолды екінші жолда іздеу. Мұны орындау үшін String класында бірнеше әдістер бар:

Әдістер Сипаттама
int indexOf(String str)
Ағымдағы жолда str жолын іздейді. Кездескен жолдың бірінші символының индексін қайтарады.
int indexOf(String str, int index)
Ағымдағы жолда str жолын іздейді, алғашқы index символдарын өткізіп жібереді. Тапқан кездесу индексін қайтарады.
int lastIndexOf(String str)
Ағымдағы жолда str жолын соңынан бастап іздейді. Бірінші кездесу индексін қайтарады.
int lastIndexOf(String str, int index)
Ағымдағы жолда str жолын соңынан бастап іздейді, алғашқы index символдарын өткізіп жібереді.
boolean matches(String regex)
Ағымдағы жолдың берілген регулярлық өрнекке сәйкесін тексереді.

indexOf(String) және indexOf(String, index) әдістері жиі жұптасып қолданылады. Бірінші әдіс берілген подстроктың ағымдағы жолда алғашқы кездесуін табуға мүмкіндік береді. Екінші әдіс алғашқы index символдарын өткізіп, екінші, үшінші кездесуін табуға мүмкіндік береді.

Мысалы, бізденың url-і бар: «https://domen.com/about/reviews», және біз домен атын javarush.com деп өзгерткіміз келеді. Url-дегі домендер әртүрлі болуы мүмкін, бірақ біз білеміз:

  • Домен атының алдында екі слэш // бар
  • Домен атынан кейін бір слэш / бар

Бағдарламаның коды осындай болады:

Код Ескертпелер
Scanner console = new Scanner(System.in);
String path = console.nextLine();

int index = path.indexOf("//");
int index2 = path.indexOf("/", index + 2);

String first = path.substring(0, index + 2);
String last = path.substring(index2);

String result = first + "javarush.com" + last;
System.out.println(result);
Scanner объектісін жасау
Консольдан жолды оқу

// жолының алғашқы кездесу индексін алу
// символдарынан кейін ғана іздей отырып, / жолының алғашқы кездесу индексін алу
Бастапқыдан // символдарына дейінгі жолды алу
/ символынан бастап жолды соңына дейін алу

Жолдарды және жаңа доменді біріктіру.

lastIndexOf(String) және lastIndexOf(String, index) әдістері дәл солай жұмыс істейді, тек іздеу жолдың соңынан басына қарай жүргізіледі.



3. Подстрок жасау

Жолдарды салыстыру мен подстрок іздеуден басқа, тағы бір танымал әрекет - жолдан подстрок алу. Алдыңғы мысалда сен substring() әдісін шақыруды көрдің, ол жолдың бөлігін қайтарады.

Мұнда ағымдағы жолдан подстрок алу үшін 8 әдіс тізімі берілген:

Әдістер Сипаттама
String substring(int beginIndex, int endIndex)
Символдар интервалы beginIndex..endIndex арқылы берілген подстрокты қайтарады.
String repeat(int count)
Ағымдағы жолды count рет қайталайды
String replace(char oldChar, char newChar)
Жаңа жолды қайтарады: oldChar символын newChar символына ауыстырады
String replaceFirst(String regex, String replacement)
Ағымдағы жолда регулярлық өрнекпен берілген подстрокты ауыстырады.
String replaceAll(String regex, String replacement)
Ағымдағы жолда барлық регулярлық өрнекпен сәйкес подстроктарды ауыстырады.
String toLowerCase()
Жолды кіші регистрге түрлендіреді
String toUpperCase()
Жолды үлкен регистрге түрлендіреді
String trim()
Жолдың басы мен соңындағы бос орындарды жояды

Қолданыстағы әдістердің қысқаша сипаттамасы:

substring(int beginIndex, int endIndex) әдісі

substring әдісі ағымдағы жолдың символдарынан жаңа жолды қайтарады, beginIndex нөмірінен бастап endIndex нөміріне дейін. Java-дағы барлық интервалдарда endIndex нөмірлі символ интервалға кірмейді. Мысалдар:

Код Нәтиже
"Привет".substring(0, 3);
"При"
ривет".substring(1, 4);
"рив"
ривет".substring(1, 6);
"ривет"
ривет".substring(1);
"ривет"

endIndex параметрі көрсетілмесе (ал ол мүмкін), подстрок beginIndex символынан бастап жолдың соңына дейін алынады.

repeat(int n) әдісі

repeat әдісі ағымдағы жолды n рет қайталайды. Мысал:

Код Нәтиже
"Привет".repeat(3);
"ПриветПриветПривет"
"Привет".repeat(2);
"ПриветПривет"
"Привет".repeat(1);
"Привет"
"Привет".repeat(0);
""

replace(char oldChar, char newChar) әдісі

replace() әдісі oldChar символдарын newChar символдарына ауыстырып, жаңа жолды қайтарады. Жолдың ұзындығы өзгермейді. Мысал:

Код Нәтиже
"Привет".replace('Я', 'я');
"Привет"
"Привет".replace('т', 'д');
"Привед"
"Привет".replace('и', 'е');
"Превет"
"Привет".replace('и', 'ы');
"Прывет"

replaceFirst() және replaceAll() әдістері

replaceAll() әдісі барлық подстроктарды басқаға ауыстырады. replaceFirst() әдісі берілген подстроктың алғашқы кездесуін басқа подстрокпен ауыстырады. Алынатын подстрок регулярлық өрнек арқылы беріледі. Регулярлық өрнектерді Java Multithreading бөлімінде қарастырамыз.

Мысалдар:

Код Нәтиже
"Good news everyone!".replaceAll("e.", "EX");
"Good nEXs EXEXyonEX"
"Good news everyone!".replaceAll("o.", "-o-");
"G-o-d news every-o-e!"
"Good news everyone!".replaceFirst("e.", "EX");
"Good nEXs everyone!"
"Good news everyone!".replaceFirst("o.", "-o-");
"G-o-d news everyone!"

toLowerCase() және toUpperCase() әдістері

Бұл әдістермен біз String класының әдістерін алғаш рет үйренген кезде таныс болғанбыз.

trim() әдісі

trim() әдісі жолдың басы мен соңындағы бос орындарды жояды. Жолдың ішіндегі бос орындарға ешкім тиіспейді. Мысалдар:

Код Нәтиже
"     ".trim();
""
"Привет".trim();
"Привет"
" Привет\n как дела?\n   ".trim();
"Привет\n как дела?\n"
"  Пароль\n   \n ".trim();
"Пароль\n   \n"

Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION