El Classe Java String substituir() El mètode retorna una cadena que substitueix tots els caracters antics o CharSequence per un nou char o CharSequence.
Des del JDK 1.5, s'introdueix un nou mètode replace() que ens permet substituir una seqüència de valors de caràcters.
Signatura
Hi ha dos tipus de mètodes replace() a la classe Java String.
public String replace(char oldChar, char newChar) public String replace(CharSequence target, CharSequence replacement)
El segon mètode replace() s'afegeix des de JDK 1.5.
Paràmetres
oldChar : personatge antic
newChar : personatge nou
objectiu : seqüència de caràcters objectiu
substitució : substitució de la seqüència de caràcters
Devolucions
cadena substituïda
Llançaments d'excepció
NullPointerException: si el reemplaçament o l'objectiu és igual a null.
Implementació interna
public String replace(char oldChar, char newChar) { if (oldChar != newChar) { int len = value.length; int i = -1; char[] val = value; /* avoid getfield opcode */ while (++i <len) { if (val[i]="=" oldchar) break; } (i < len) char buf[]="new" char[len]; for (int j="0;" i; j++) buf[j]="val[j];" while c="val[i];" buf[i]="(c" =="oldChar)" ? newchar : c; i++; return new string(buf, true); this; pre> <pre> public String replace(CharSequence target, CharSequence replacement) { return Pattern.compile(target.toString(), Pattern.LITERAL).matcher( this).replaceAll(Matcher.quoteReplacement(replacement.toString())); } </pre> <h2>Java String replace(char old, char new) method example</h2> <p> <strong>FileName:</strong> ReplaceExample1.java</p> <pre> public class ReplaceExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replace('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }} </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> jevetpoint is e very good website </pre> <h2>Java String replace(CharSequence target, CharSequence replacement) method example</h2> <p> <strong>FileName:</strong> ReplaceExample2.java</p> <pre> public class ReplaceExample2{ public static void main(String args[]){ String s1='my name is khan my name is java'; String replaceString=s1.replace('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }} </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> my name was khan my name was java </pre> <h2>Java String replace() Method Example 3</h2> <p> <strong>FileName:</strong> ReplaceExample3.java</p> <pre> public class ReplaceExample3 { public static void main(String[] args) { String str = 'oooooo-hhhh-oooooo'; String rs = str.replace('h','s'); // Replace 'h' with 's' System.out.println(rs); rs = rs.replace('s','h'); // Replace 's' with 'h' System.out.println(rs); } }</pre> <p> <strong>Output:</strong> </p> <pre>oooooo-ssss-oooooo oooooo-hhhh-oooooo </pre> <h2>Java String replace() Method Example 4</h2> <p>The replace() method throws the NullPointerException when the replacement or target is null. The following example confirms the same.</p> <p> <strong>FileName:</strong> ReplaceExample4.java</p> <pre> public class ReplaceExample4 { // main method public static void main(String argvs[]) { String str = 'For learning Java, JavaTpoint is a very good site.'; int size = str.length(); System.out.println(str); String target = null; // replacing null with JavaTpoint. Hence, the NullPointerException is raised. str = str.replace(target, 'JavaTpoint '); System.out.println(str); } } </pre> <p> <strong>Output:</strong> </p> <pre> For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.lang.NullPointerException at java.base/java.lang.String.replace(String.java:2142) at ReplaceExample4.main(ReplaceExample4.java:12) </pre> <hr></len)>
Exemple de mètode Java String replace(char old, char new).
Nom de l'arxiu: ReplaceExample1.java
public class ReplaceExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replace('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}Prova-ho ara
Sortida:
jevetpoint is e very good website
Exemple de mètode Java String replace(CharSequence target, CharSequence replacement).
Nom de l'arxiu: ReplaceExample2.java
public class ReplaceExample2{ public static void main(String args[]){ String s1='my name is khan my name is java'; String replaceString=s1.replace('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}Prova-ho ara
Sortida:
my name was khan my name was java
Exemple 3 del mètode Java String replace()
Nom de l'arxiu: ReplaceExample3.java
public class ReplaceExample3 { public static void main(String[] args) { String str = 'oooooo-hhhh-oooooo'; String rs = str.replace('h','s'); // Replace 'h' with 's' System.out.println(rs); rs = rs.replace('s','h'); // Replace 's' with 'h' System.out.println(rs); } }
Sortida:
oooooo-ssss-oooooo oooooo-hhhh-oooooo
Exemple 4 del mètode Java String replace()
El mètode replace() llança la NullPointerException quan el reemplaçament o l'objectiu és nul. L'exemple següent confirma el mateix.
Nom de l'arxiu: ReplaceExample4.java
public class ReplaceExample4 { // main method public static void main(String argvs[]) { String str = 'For learning Java, JavaTpoint is a very good site.'; int size = str.length(); System.out.println(str); String target = null; // replacing null with JavaTpoint. Hence, the NullPointerException is raised. str = str.replace(target, 'JavaTpoint '); System.out.println(str); } }
Sortida:
For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.lang.NullPointerException at java.base/java.lang.String.replace(String.java:2142) at ReplaceExample4.main(ReplaceExample4.java:12)