java string replace
Този урок ще обясни всичко за метода Java String Replace () заедно с методите ReplaceAll () и ReplaceFirst () с помощта на примери:
Ще проучим и няколко базирани на сценарии примери и често задавани въпроси, които ще направят концепцията ясна.
След като преминете през този урок, ще знаете за методите replace (), replaceFirst () и replaceAll () и ще можете да използвате тези два метода в проблеми с обработката на низове.
=> Погледнете тук ръководството за начинаещи Java.
Какво ще научите:
Замяна на низове на Java
Преди да продължим, трябва да знаем, че методът Java String replace () има три различни варианта, както е споменато по-долу:
- Java String replace ()
- Java String replaceAll ()
- Java String replaceFirst ()
Всички тези варианти имат свое собствено значение и те могат да се използват въз основа на изискването по време на всяка манипулация на String. Също така, всеки от тези методи има свои собствени варианти, които са обсъдени заедно със синтаксиса и подробностите за тяхното изпълнение в последната част на този урок.
Накратко, методът Java String replace () се използва, за да замени всички появявания на даден знак с нов.
Методът Java String replaceAll () работи в съответствие с регулярния израз и въз основа на регулярния израз сме свободни да изберем какъв тип операция ще имаме върху входния низ.
Освен това методът Java String replaceFirst () се използва за заместване на първия появяващ се символ с нов.
как да добавя елемент към масив в java
Метод за заместване на низове ()
Както подсказва самото име, методът replace () се използва, за да замени всички появявания на конкретен символ на String с нов символ.
Java String Replace има два варианта, както е показано по-долу.
# 1) Методът за замяна на героя.
Синтаксисът за замяна на символ:
String replace(char originalChar, char replacingChar)
# 2) Методът за замяна на символната последователност.
Синтаксисът на символната последователност замества:
String replace(CharSequence original, CharSequence replacing)
Замяна на символ
По-долу пример , ще инициализираме променлива String. След това ще заменим всеки специфичен символ на 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); } }
Изход:
Метод String ReplaceAll ()
Този метод връща нов String като изход и този нов String се основава на резултата от регулярните изрази, които предоставяме в регулярния израз.
Синтаксисът за 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 () метод, който се използва за заместване на първия възникващ символ на всеки String.
Този метод връща нов низ, в който първият символ се заменя с нов. Нека разгледаме синтаксиса за повече подробности.
Синтаксисът за 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 *“, т.е. за всяко появяване на „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: Замяна на низ, който започва с последователност от символи, с нов низ.
Обяснение: Тук ще заменим String, който започва с определена последователност от символи, с нов String. Използвахме същия входен низ (както по-горе сценарий), след което извършихме операцията за регулярно изражение, използвайки 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); } }
Изход:
често задавани въпроси
Въпрос # 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 (), за да заменим последното появяване на String.
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); } }
Изход:
Q # 4) Как да променя стойността на String в Java?
Отговор: Има много Java String методи, които могат да променят стойността на 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 String с урок за String Buffer и String Builder
- Метод за разделяне на низове в Java () - Как да разделите низ в Java
- Дължина на низа на Java () Метод с примери
- Java String съдържа () урок за методи с примери
- Java String compareTo метод с примери за програмиране
- Java String Array - Урок с примери за кодове
- Java String indexOf метод с примери за кодове