java string replace
Questo tutorial spiegherà tutto sul metodo Java String Replace () insieme ai metodi ReplaceAll () e ReplaceFirst () con l'aiuto di esempi:
Esploreremo anche alcuni esempi basati su scenari e domande frequenti che renderanno chiaro il concetto.
Dopo aver seguito questo tutorial, conoscerai i metodi replace (), replaceFirst () e replaceAll () e sarai in grado di utilizzare questi due metodi nei problemi di gestione delle stringhe.
=> Dai un'occhiata alla guida per principianti di Java qui.
Cosa imparerai:
Sostituzione stringa Java
Prima di procedere, dobbiamo sapere che il metodo Java String replace () ha tre diverse varianti come indicato di seguito:
- Sostituzione stringa Java ()
- Java String replaceAll ()
- Java String replaceFirst ()
Tutte queste varianti hanno il loro significato e possono essere utilizzate in base al requisito durante qualsiasi manipolazione di stringhe. Inoltre, ciascuno di questi metodi ha le proprie varianti che vengono discusse insieme alla loro sintassi e ai dettagli di implementazione nell'ultima parte di questo tutorial.
In breve, il metodo Java String replace () viene utilizzato per sostituire tutte le occorrenze di un dato carattere con un nuovo carattere.
Il metodo Java String replaceAll () funziona in conformità con l'espressione regolare e in base all'espressione regolare, siamo liberi di scegliere quale tipo di operazione avremo su una stringa di input.
Inoltre, il metodo Java String replaceFirst () viene utilizzato per sostituire il primo carattere che ricorre con un nuovo carattere.
Metodo String Replace ()
Come suggerisce il nome stesso, il metodo replace () viene utilizzato per sostituire tutte le occorrenze di un carattere specifico di una stringa con un nuovo carattere.
Java String Replace ha due varianti come mostrato di seguito.
# 1) Il metodo di sostituzione per il personaggio.
La sintassi per il carattere sostituire:
String replace(char originalChar, char replacingChar)
# 2) Il metodo di sostituzione per la sequenza di caratteri.
La sintassi per la sequenza di caratteri sostituisce:
String replace(CharSequence original, CharSequence replacing)
Sostituzione di un personaggio
In basso esempio , inizializzeremo una variabile String. Quindi, sostituiremo qualsiasi carattere specifico della stringa con un nuovo carattere.
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); } }
Produzione:
Sostituzione della sequenza di caratteri
In questo esempio , discuteremo dell'altra forma del metodo Java String replace ().
Sintassi:
String replace(CharSequence original, CharSequence replacing)
Questa forma del metodo Java String replace () sostituisce una sequenza di caratteri con l'altra. Nell'esempio seguente, inizializzeremo una variabile String, quindi sostituiremo la sequenza di caratteri con l'altra.
Vediamo l'esempio seguente.
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); } }
Produzione:
Metodo String ReplaceAll ()
Questo metodo restituisce una nuova stringa come output e questa nuova stringa si basa sul risultato delle espressioni regolari che forniamo nella regex.
La sintassi per ReplaceAll:
String replaceAll(String regex, String output)
Sostituzione di tutti i caratteri
In questo esempio , vedremo come funziona replaceAll () con le espressioni regolari. In questo programma, sostituiremo tutto lo spazio tra i caratteri con un simbolo '%' utilizzando il metodo replaceAll () con un'espressione regolare.
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); } }
Produzione:
Metodo String ReplaceFirst ()
Oltre a replace () e replaceAll (), abbiamo un altro metodo chiamato replaceFirst () che viene utilizzato per sostituire il primo carattere che si verifica di qualsiasi stringa.
Questo metodo restituisce una nuova stringa in cui il primo carattere viene sostituito con un nuovo carattere. Esaminiamo la sintassi per maggiori dettagli.
La sintassi per ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Sostituzione del primo personaggio
In questo programma, abbiamo preso una stringa di input e abbiamo provato a sostituire il primo carattere che ricorre con un nuovo carattere utilizzando il metodo replaceFirst ().
All'interno del metodo replaceFirst (), abbiamo passato il vecchio primo carattere e il nuovo primo carattere. La stringa restituita sostituirà il vecchio primo carattere con il nuovo primo carattere.
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); } }
Produzione:
Scenari
Scenario 1: Sostituzione di una sottostringa utilizzando il metodo Java replaceAll ().
Spiegazione: In questo scenario, sostituiremo una sottostringa dalla stringa principale con una nuova sottostringa.
In questo programma, abbiamo utilizzato il carattere jolly '*' seguito dalla stringa 'Fred'. Ogni occorrenza di Fred verrà sostituita dalla nuova stringa 'Ted'. Come sappiamo, un carattere jolly è un carattere speciale che possiamo utilizzare per rappresentare qualsiasi altro carattere.
Qui abbiamo utilizzato 'Fred *', ovvero per ogni occorrenza di 'Fred', 'Fredd', 'Fredx', 'Fredy' e così via, sostituirà ciascuno di essi con la nuova stringa 'Ted'. Inoltre, sostituirà 'Freddy' (sottostringa nella stringa di input del programma seguente) con '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); } }
Produzione:
gateway predefinito non disponibile windows 8
Scenario 2: Sostituzione di una stringa che inizia con una sequenza di caratteri con una nuova stringa.
Spiegazione: Qui, sostituiremo una stringa che inizia con una certa sequenza di caratteri con una nuova stringa. Abbiamo utilizzato la stessa stringa di input (come uno scenario precedente), quindi abbiamo eseguito l'operazione regex utilizzando 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); } }
Produzione:
Domande frequenti
D # 1) Come cambiare un carattere usando replace () e replaceAll ()?
Risposta: La modifica di un carattere funziona bene con entrambi i metodi replace () e replaceAll (). Diamo un'occhiata al seguente programma per maggiori informazioni.
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); } }
Produzione:
Q # 2) Come sostituire un carattere in una stringa in Java senza utilizzare il metodo replace ()?
Risposta: Nel programma seguente non abbiamo utilizzato il metodo replace () per sostituire il carattere che si trova in 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); } }
Produzione:
Q # 3) Come sostituire l'ultima occorrenza di una stringa in Java?
Risposta: In questo programma, abbiamo utilizzato l'espressione regolare con il metodo replaceAll () per sostituire l'ultima occorrenza di una stringa.
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); } }
Produzione:
Q # 4) Come modificare il valore della stringa in Java?
Risposta: Esistono molti metodi Java String che possono modificare il valore di una stringa.
Diamo un'occhiata al metodo 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); } }
Produzione:
Q # 5) Cos'è un carattere jolly? Spiegare.
Risposta: Un carattere jolly è un carattere speciale utilizzato per rappresentare qualsiasi altro carattere. Qualsiasi carattere può essere utilizzato nell'indice in cui abbiamo definito il carattere jolly. Alcuni dei caratteri jolly comuni sono '*', '?' Ecc.
Facciamo un esempio di una stringa 'mangia *'. Qui, il carattere jolly '*' compare nell'ultimo indice. Ciò significa che la stringa inizierà sempre con 'mangia' ma è libera di scegliere i caratteri finali.
Quindi, quando provi a cercare con la stringa di input come 'mangia *', il risultato della ricerca può essere 'mangia', 'mangiato', 'mangiabile', 'mangia' e così via.
Conclusione
In questo tutorial, abbiamo esplorato in dettaglio i metodi Java String replace () e replaceAll (). Oltre a questi due metodi, abbiamo anche imparato a conoscere il metodo replaceFirst ().
In questo tutorial sono stati inclusi sufficienti esempi di programmazione per fornire maggiori dettagli su ciascuno di questi tre metodi. Sono stati forniti anche esempi di espressioni regolari come parte del metodo replaceAll ().
Ci auguriamo che le domande frequenti e basate su scenari incluse in questo tutorial ti abbiano fornito un'ottima panoramica su Java String Replace.
=> Visita qui per imparare Java da zero.
Lettura consigliata
- Tutorial Java String | Metodi Java String con esempi
- Java String con String Buffer e String Builder Tutorial
- Metodo Java String Split () - Come dividere una stringa in Java
- Metodo Java String length () con esempi
- Tutorial sul metodo Java String contains () con esempi
- Java String compareTo con esempi di programmazione
- Java String Array - Tutorial con esempi di codice
- Java String indexOf Metodo con esempi di codice