java string replace
Цей посібник пояснить все про метод Java String Replace () разом із методами ReplaceAll () та ReplaceFirst () за допомогою прикладів:
Ми також вивчимо кілька прикладів на основі сценаріїв та поширені запитання, які зроблять концепцію зрозумілою.
Пройшовши цей посібник, ви дізнаєтесь про методи replace (), replaceFirst () і replaceAll (), і зможете використовувати ці два методи в задачах обробки рядків.
=> Подивіться тут посібник для початківців Java.
Що ви дізнаєтесь:
Заміна рядка Java
Перш ніж продовжити, нам слід знати, що метод Java String replace () має три різні варіанти, як зазначено нижче:
- Java String replace ()
- Рядок Java replaceAll ()
- Рядок Java replaceFirst ()
Усі ці варіанти мають своє значення, і їх можна використовувати, виходячи з вимоги під час будь-якої маніпуляції зі рядком. Крім того, кожен із цих методів має свої власні варіанти, які обговорюються разом із їх синтаксисом та деталями їх реалізації в останній частині цього посібника.
Коротше кажучи, метод Java String replace () використовується для заміни всіх випадків будь-якого заданого символу новим символом.
Метод Java String replaceAll () працює відповідно до регулярного виразу, і на основі регулярного виразу ми можемо вільно вибирати, який тип операції ми будемо виконувати над вхідним рядком.
Крім того, метод Java String replaceFirst () використовується для заміни першого символу новим символом.
Метод заміни рядка ()
Як випливає з назви, метод replace () використовується для заміни всіх випадків певного символу рядка новим символом.
Java String Replace має два варіанти, як показано нижче.
# 1) Метод заміни для персонажа.
Синтаксис заміни символів:
String replace(char originalChar, char replacingChar)
# 2) Метод заміни для послідовності символів.
Синтаксис для заміни послідовності символів:
String replace(CharSequence original, CharSequence replacing)
Заміна символу
Нижче приклад , ми будемо ініціалізувати змінну String. Потім ми замінимо будь-який конкретний символ рядка новим символом.
public class replace { public static void main(String() args) { // Initialized a String String str = 'CAT'; // Replaced the character 'C' with 'R' String replace = str.replace('C', 'R'); // Printed the Original String System.out.println('The Original String was: ' + str); // Printed the Final String after replace() operation System.out.println('The Final String is: ' + replace); } }
Вихід:
Заміна послідовності символів
У цьому приклад , ми обговоримо іншу форму методу Java String replace ().
Синтаксис:
String replace(CharSequence original, CharSequence replacing)
Ця форма методу Java String replace () замінює одну послідовність символів іншою. У наведеному нижче прикладі ми ініціалізуємо змінну String, а потім замінимо послідовність char іншою.
Давайте подивимось на приклад нижче.
public class replace { public static void main(String() args) { // Initialized a String String str = 'Shooting'; // Replaced the character sequence 'oot' with 'out' String replace = str.replace('oot', 'out'); // Printed the Original String System.out.println('The Original String was: ' +str); // Printed the Final String after replace() char sequence operation System.out.println('The Final String is: ' +replace); } }
Вихід:
найкраще безкоштовне програмне забезпечення для клонування жорсткого диска 2017
Метод String ReplaceAll ()
Цей метод повертає новий рядок як результат, і цей новий рядок базується на результаті регулярних виразів, які ми надаємо в регулярному виразі.
Синтаксис для ReplaceAll:
String replaceAll(String regex, String output)
Заміна всіх символів
У цьому приклад , ми побачимо, як replaceAll () працює з регулярними виразами. У цій програмі ми замінимо всі пробіли між символами символом «%», використовуючи метод replaceAll () з регулярним виразом.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'This is a Testing Website'; /* * Replacing all the whitespaces between * characters with the '%' */ String replaceAll = str.replaceAll('\s+', '%'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Вихід:
Метод String ReplaceFirst ()
Окрім replace () і replaceAll (), у нас є ще один метод, який називається методом replaceFirst (), який використовується для заміни першого символу будь-якого рядка.
Цей метод повертає новий рядок, у якому перший символ замінюється новим символом. Давайте розглянемо синтаксис, щоб отримати докладнішу інформацію.
Синтаксис для ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Заміна першого символу
У цій програмі ми взяли вхідний рядок і спробували замінити перший зустрічається символ новим символом, використовуючи метод replaceFirst ().
Усередині методу replaceFirst () ми передали старий перший символ і новий перший символ. Повернутий рядок замінить старий перший символ новим першим символом.
public class ReplaceFirst { public static void main(String() args) { String str = 'PPPPP'; System.out.println(str); // Replaced the first occurrence of 'P' with 'Q' String replaceFirst = str.replaceFirst('P', 'Q'); System.out.println(replaceFirst); } }
Вихід:
Сценарії
Сценарій 1: Заміна підрядка методом Java replaceAll ().
Пояснення: У цьому сценарії ми збираємось замінити підрядок з основного рядка новим підрядком.
У цій програмі ми використали символ підстановки „*”, за яким стоїть рядок „Фред”. Кожен випадок Фреда буде замінений новим рядком 'Тед'. Як ми знаємо, символ підстановки - це спеціальний символ, який ми можемо використовувати для представлення будь-якого іншого символу.
Тут ми використовували “Fred *”, тобто для кожного входження “Fred”, “Fredd”, “Fredx”, “Fredy” тощо, він замінить кожного з них на новий рядок “Ted”. Крім того, він замінить “Freddy” (підрядок у вхідному рядку наведеної нижче програми) на “Tedy”.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the names that start with Fred with the Ted String replaceAll = str.replaceAll('Fred*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Вихід:
Сценарій 2: Заміна рядка, який починається з послідовності символів, на новий рядок.
Пояснення: Тут ми збираємось замінити рядок, який починається з певної послідовності символів, новим рядком. Ми використовували той самий вхідний рядок (як вищезазначений сценарій), а потім виконали операцію регулярного виразу, використовуючи replaceAll.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the entire String that starts with Fred with the Ted String replaceAll = str.replaceAll('Fred.*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Вихід:
Часті запитання
Q # 1) Як змінити символ за допомогою replace () і replaceAll ()?
Відповідь: Зміна символу добре працює як із методами replace (), так і replaceAll (). Давайте розглянемо наступну програму для отримання додаткової інформації.
public class replaceAndReplaceAll { public static void main(String() args) { // Initialized a String variable String str = 'CUT'; // Replaced 'C' with 'P' using replace() method String replace = str.replace('C', 'P'); // Replaced 'C' with 'P' using replaceAll() method String replaceAll = str.replaceAll('C', 'P'); // Printed Original String System.out.println('Original String: ' +str); // Printed the output of replace() method System.out.println('Replace String: ' +replace); // Printed the output of replaceAll() method System.out.println('ReplaceAll String: ' +replaceAll); } }
Вихід:
Q # 2) Як замінити символ у рядку в Java без використання методу replace ()?
Відповідь: У наведеній нижче програмі ми не використовували метод replace () для заміни символу, що зустрічається при index = 2.
public class withoutReplace { public static void main(String() args) { String str = 'This'; // Printed Original String System.out.println(str); // Replacing character at position 2 which is 'i' String replaced = str.substring(0, 2) + 'u' + str.substring(2 + 1); // Printed Replaced String System.out.println(replaced); } }
Вихід:
Q # 3) Як замінити останнє входження рядка в Java?
Відповідь: У цій програмі ми використали регулярний вираз із методом replaceAll () для заміни останнього входження рядка.
public class replaceAll { public static void main(String() args) { // Initialized a String variable String str = 'Tony Stark John Jon StarkTony'; /* * '$' means the last element of the matching pattern. * So we have replaced the last occurrence of 'Tony' with * 'Trevor' using regex = 'Tony$' */ String replaceAll = str.replaceAll('Tony$', 'Trevor'); // Printed the original element System.out.println(str); // Printed the replaced element System.out.println(replaceAll); } }
Вихід:
як розділити рядок за символом у python
Q # 4) Як змінити значення рядка в Java?
Відповідь: Існує багато методів Java String, які можуть змінити значення рядка.
Давайте розглянемо метод replace ().
public class replace { public static void main(String() args) { String str = '1000'; System.out.println(str); // Changing the value of the Original String String changed = str.replace('000', '111'); System.out.println(changed); } }
Вихід:
Q # 5) Що таке символ підстановки? Поясніть.
Відповідь: Узагальнюючий символ - це спеціальний символ, який використовується для представлення будь-якого іншого символу. Будь-який символ можна використовувати в індексі, де ми визначили символ підстановки. Деякі загальні символи узагальнюючих знаків - «*», «?» Тощо
Візьмемо приклад рядка 'їсти *'. Тут символ підстановки «*» зустрічається за останнім індексом. Це означає, що рядок завжди починатиметься з «їсти», але вільно вибирати кінцеві символи.
Отже, коли ви намагаєтесь шукати за допомогою вхідного рядка як “їжте *”, результатом пошуку може бути “їсти”, “їсти”, “їсти”, “їсти” тощо.
Висновок
У цьому посібнику ми детально вивчили методи Java String replace () та replaceAll (). Окрім цих двох методів, ми також дізналися про метод replaceFirst ().
У цьому навчальному посібнику було включено достатньо прикладів програмування, щоб надати вам більше деталей щодо кожного з цих трьох методів. Приклади регулярних виразів також були надані як частина методу replaceAll ().
Ми сподіваємось, що засновані на сценарії та Часті запитання, включені до цього посібника, дали б вам велике розуміння щодо Java String Replace.
=> Завітайте сюди, щоб вивчити Java з нуля.
Рекомендована література
- Підручник із рядків Java | Рядові методи Java на прикладах
- Рядок Java із підручником для буфера рядків та побудови рядків
- Метод розділення рядка Java () - Як розділити рядок у Java
- Довжина рядка Java () Метод із прикладами
- Рядок Java містить () Підручник із методів із прикладами
- Рядок Java порівняти до методу з прикладами програмування
- Струнковий масив Java - Підручник із прикладами коду
- Індекс рядка Java методу з прикладами коду