sostituire String con un altro in java


97

Quale funzione può sostituire una stringa con un'altra stringa?

Esempio # 1: Cosa sostituirà "HelloBrother"con "Brother"?

Esempio # 2: Che andrà a sostituire "JAVAISBEST"con "BEST"?


2
Quindi vuoi solo l'ultima parola?
SNR

Risposte:


147

Il replacemetodo è quello che stai cercando.

Per esempio:

String replacedString = someString.replace("HelloBrother", "Brother");


10

È possibile non utilizzare variabili aggiuntive

String s = "HelloSuresh";
s = s.replace("Hello","");
System.out.println(s);

1
Non è certo una nuova risposta, ma un miglioramento della risposta di @ DeadProgrammer.
Karl Richter

Questa è la risposta esistente, per favore prova con un approccio diverso @oleg sh
Lova Chittumuri

7

La sostituzione di una stringa con un'altra può essere eseguita con i metodi seguenti

Metodo 1: utilizzo di StringreplaceAll

 String myInput = "HelloBrother";
 String myOutput = myInput.replaceAll("HelloBrother", "Brother"); // Replace hellobrother with brother
 ---OR---
 String myOutput = myInput.replaceAll("Hello", ""); // Replace hello with empty
 System.out.println("My Output is : " +myOutput);       

Metodo 2 : utilizzo diPattern.compile

 import java.util.regex.Pattern;
 String myInput = "JAVAISBEST";
 String myOutputWithRegEX = Pattern.compile("JAVAISBEST").matcher(myInput).replaceAll("BEST");
 ---OR -----
 String myOutputWithRegEX = Pattern.compile("JAVAIS").matcher(myInput).replaceAll("");
 System.out.println("My Output is : " +myOutputWithRegEX);           

Metodo 3 : utilizzo Apache Commonscome definito nel collegamento seguente:

http://commons.apache.org/proper/commons-lang/javadocs/api-z.1/org/apache/commons/lang3/StringUtils.html#replace(java.lang.String, java.lang.String, java.lang.String)

RIFERIMENTO



0

Un altro suggerimento, diciamo che hai due stesse parole nella stringa

String s1 = "who is my brother, who is your brother"; // I don't mind the meaning of the sentence.

la funzione di sostituzione cambierà ogni stringa data nel primo parametro al secondo parametro

System.out.println(s1.replace("brother", "sister")); // who is my sister, who is your sister

e puoi usare anche il metodo replaceAll per lo stesso risultato

System.out.println(s1.replace("brother", "sister")); // who is my sister, who is your sister

se vuoi cambiare solo la prima stringa che è posizionata in precedenza,

System.out.println(s1.replaceFirst("brother", "sister")); // whos is my sister, who is your brother.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.