106

What function can replace a string with another string?

Example #1: What will replace "HelloBrother" with "Brother"?

Example #2: What will replace "JAVAISBEST" with "BEST"?

Oliver Spryn
  • 16,871
  • 33
  • 101
  • 195
Shah
  • 4,990
  • 10
  • 48
  • 70

7 Answers7

155

The replace method is what you're looking for.

For example:

String replacedString = someString.replace("HelloBrother", "Brother");
Daniel Olszewski
  • 13,995
  • 6
  • 58
  • 65
pwc
  • 7,043
  • 3
  • 29
  • 32
49

Try this: https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#replace%28java.lang.CharSequence,%20java.lang.CharSequence%29

String a = "HelloBrother How are you!";
String r = a.replace("HelloBrother","Brother");

System.out.println(r);

This would print out "Brother How are you!"

ProNeticas
  • 986
  • 3
  • 10
  • 17
11

There is a possibility not to use extra variables

String s = "HelloSuresh";
s = s.replace("Hello","");
System.out.println(s);
Oleg SH
  • 443
  • 5
  • 11
8

Replacing one string with another can be done in the below methods

Method 1: Using String replaceAll

 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);       

Method 2: Using Pattern.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);           

Method 3: Using Apache Commons as defined in the link below:

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)

REFERENCE

Community
  • 1
  • 1
ngrashia
  • 9,869
  • 5
  • 43
  • 58
6
     String s1 = "HelloSuresh";
     String m = s1.replace("Hello","");
     System.out.println(m);
Dead Programmer
  • 12,427
  • 23
  • 80
  • 112
0

Another suggestion, Let's say you have two same words in the String

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

replace function will change every string is given in the first parameter to the second parameter

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

and you can use also replaceAll method for the same result

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

if you want to change just the first string which is positioned earlier,

System.out.println(s1.replaceFirst("brother", "sister")); // whos is my sister, who is your brother.
User8500049
  • 410
  • 3
  • 12
0

You can use replace method to achieve this:

String outputString1 = inputString.replace("HelloBrother", "Brother");
String outputString2 = inputString.replace("JAVAISBEST", "BEST");
Aman Kumayu
  • 381
  • 1
  • 9