java string replace
Ten samouczek wyjaśni wszystko na temat metody Java String Replace () wraz z metodami ReplaceAll () i ReplaceFirst () za pomocą przykładów:
Przeanalizujemy również kilka przykładów opartych na scenariuszach i często zadawanych pytań, które wyjaśnią koncepcję.
Po przejściu tego samouczka dowiesz się o metodach replace (), replaceFirst () i replaceAll (), a także będziecie mogli używać tych dwóch metod w problemach z obsługą ciągów znaków.
=> Zapoznaj się z podręcznikiem Java dla początkujących tutaj.
Czego się nauczysz:
Zastąp ciąg Java
Zanim przejdziemy dalej, musimy wiedzieć, że metoda replace () w języku Java String ma trzy różne warianty, jak wspomniano poniżej:
- Zastąp ciąg znaków Java ()
- Ciąg Java ReplaceAll ()
- Java String replaceFirst ()
Wszystkie te warianty mają swoje własne znaczenie i mogą być używane w oparciu o wymagania podczas dowolnej manipulacji na łańcuchu. Ponadto każda z tych metod ma swoje własne warianty, które wraz z ich składnią i szczegółami implementacji omówiono w dalszej części tego samouczka.
W skrócie, metoda Java String replace () służy do zastępowania wszystkich wystąpień dowolnego danego znaku nowym znakiem.
Metoda Java String replaceAll () działa zgodnie z wyrażeniem regularnym i bazując na wyrażeniu regularnym, możemy dowolnie wybrać, jaki rodzaj operacji będziemy mieć na wejściowym Stringu.
Ponadto metoda Java String replaceFirst () służy do zastępowania pierwszego występującego znaku nowym znakiem.
Metoda String Replace ()
Jak sama nazwa wskazuje, metoda replace () zastępuje wszystkie wystąpienia określonego znaku w łańcuchu nowym znakiem.
Zastąpienie ciągu Java ma dwa warianty, jak pokazano poniżej.
# 1) Metoda zamiany znaku.
Składnia zastępowania znaków:
String replace(char originalChar, char replacingChar)
# 2) Metoda zastępowania sekwencji znaków.
Składnia zastępowania sekwencji znaków:
String replace(CharSequence original, CharSequence replacing)
Zastąpienie postaci
Poniżej przykład , będziemy inicjalizować zmienną typu String. Następnie zastąpimy dowolny określony znak ciągu nowym znakiem.
jak zainstalować mavena w eclipse
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); } }
Wynik:
Zastępowanie sekwencji znaków
W tym przykład , omówimy inną formę metody replace () w języku Java.
Składnia:
String replace(CharSequence original, CharSequence replacing)
Ta forma metody replace () języka Java String zastępuje jedną sekwencję znaków drugą. W poniższym przykładzie zainicjujemy zmienną typu String, a następnie zastąpimy sekwencję znaków inną.
Zobaczmy poniższy przykład.
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); } }
Wynik:
Metoda ReplaceAll ()
Ta metoda zwraca nowy ciąg jako dane wyjściowe, a ten nowy ciąg jest oparty na wyniku wyrażeń regularnych, które podajemy w wyrażeniu regularnym.
Składnia ReplaceAll:
jak zostać testerem produktu
String replaceAll(String regex, String output)
Zastępowanie wszystkich znaków
W tym przykład , zobaczymy, jak funkcja replaceAll () działa z wyrażeniami regularnymi. W tym programie zamieniamy wszystkie spacje między znakami na symbol „%” przy użyciu metody replaceAll () z wyrażeniem regularnym.
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); } }
Wynik:
Metoda String ReplaceFirst ()
Oprócz metod replace () i replaceAll () mamy inną metodę o nazwie replaceFirst (), która służy do zastępowania pierwszego występującego znaku dowolnego ciągu znaków.
Ta metoda zwraca nowy ciąg, w którym pierwszy znak jest zastępowany nowym znakiem. Przyjrzyjmy się składni, aby uzyskać więcej informacji.
Składnia dla ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Zastąpienie pierwszej postaci
W tym programie pobraliśmy wejściowy ciąg znaków i spróbowaliśmy zastąpić pierwszy występujący znak nowym znakiem za pomocą metody replaceFirst ().
Wewnątrz metody replaceFirst () przekazaliśmy stary pierwszy znak i nowy pierwszy znak. Zwrócony String zastąpi stary pierwszy znak nowym pierwszym znakiem.
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); } }
Wynik:
Scenariusze
Scenariusz 1: Zastępowanie podciągu za pomocą metody replaceAll () języka Java.
Wyjaśnienie: W tym scenariuszu zamienimy podciąg z głównego ciągu na nowy.
W tym programie wykorzystaliśmy znak wieloznaczny „*”, po którym następuje ciąg „Fred”. Każde wystąpienie Freda zostanie zastąpione nowym ciągiem „Ted”. Jak wiemy, znak wieloznaczny to specjalny znak, którego możemy użyć do reprezentowania dowolnego innego znaku.
Tutaj użyliśmy „Fred *”, tj. Dla każdego wystąpienia „Fred”, „Fredd”, „Fredx”, „Fredy” i tak dalej, zastąpi on każdy z nich nowym Ciągiem „Ted”. Zastąpi także „Freddy” (podciąg w wejściowym ciągu poniższego programu) na „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); } }
Wynik:
Scenariusz 2: Zastępowanie ciągu zaczynającego się od sekwencji znaków nowym ciągiem znaków.
Wyjaśnienie: Tutaj zastąpimy ciąg znaków, który zaczyna się od określonej sekwencji znaków, nowym ciągiem. Użyliśmy tego samego ciągu wejściowego (jak w powyższym scenariuszu), a następnie wykonaliśmy operację regex przy użyciu 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); } }
Wynik:
Często Zadawane Pytania
P # 1) Jak zmienić znak za pomocą replace () i replaceAll ()?
Odpowiedź: Zmiana znaku działa dobrze zarówno w przypadku metody replace (), jak i replaceAll (). Spójrzmy na następujący program, aby uzyskać więcej informacji.
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); } }
Wynik:
Pytanie nr 2) Jak zamienić znak w łańcuchu w Javie bez użycia metody replace ()?
Odpowiedź: W poniższym programie nie wykorzystaliśmy metody replace () do zastąpienia znaku występującego pod indeksem = 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); } }
Wynik:
Pytanie nr 3) Jak zamienić ostatnie wystąpienie ciągu znaków w Javie?
Odpowiedź: W tym programie użyliśmy wyrażenia regularnego z metodą replaceAll (), aby zastąpić ostatnie wystąpienie ciągu znaków.
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); } }
Wynik:
jak otworzyć plik swf
Pytanie 4) Jak zmienić wartość ciągu w Javie?
Odpowiedź: Istnieje wiele metod napisów w języku Java, które mogą zmienić wartość ciągu.
Spójrzmy na metodę 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); } }
Wynik:
Pytanie 5) Co to jest znak wieloznaczny? Wyjaśniać.
Odpowiedź: Znak wieloznaczny to specjalny znak używany do reprezentowania dowolnego innego znaku. W indeksie można użyć dowolnego znaku, w którym zdefiniowaliśmy symbol wieloznaczny. Niektóre typowe symbole wieloznaczne to „*”, „?” Itp.
Weźmy przykład ciągu „eat *”. W tym przypadku znak wieloznaczny „*” występuje na ostatnim indeksie. Oznacza to, że łańcuch zawsze będzie zaczynał się od „eat”, ale można wybrać końcowe znaki.
Tak więc, gdy spróbujesz wyszukiwać z ciągiem wejściowym „jeść *”, wynik wyszukiwania może brzmieć „jeść”, „zjadać”, „jeść”, „jeść” i tak dalej.
Wniosek
W tym samouczku szczegółowo omówiliśmy metody replace () i replaceAll () języka Java. Oprócz tych dwóch metod poznaliśmy również metodę replaceFirst ().
Ten samouczek zawiera wystarczające przykłady programowania, aby uzyskać więcej szczegółów na temat każdej z tych trzech metod. W ramach metody replaceAll () podano również przykłady wyrażeń regularnych.
Mamy nadzieję, że oparte na scenariuszach i często zadawane pytania zawarte w tym samouczku zapewniłyby doskonały wgląd w funkcję zastępowania ciągów w języku Java.
=> Odwiedź tutaj, aby nauczyć się języka Java od podstaw.
rekomendowane lektury
- Samouczek dotyczący ciągów Java | Metody ciągów Java z przykładami
- Ciąg Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- Metoda Java String Split () - Jak podzielić ciąg w Javie
- Metoda Java String length () z przykładami
- Java String zawiera () Samouczek dotyczący metody z przykładami
- Metoda Java String compareTo z przykładami programowania
- Java String Array - samouczek z przykładami kodu
- Metoda Java String indexOf z przykładami kodu