Important alert: (current site time 7/15/2013 3:43:42 PM EDT)
 

VB icon

_String Replace (for real)

Email
Submitted on: 10/2/2001 7:21:52 PM
By: Atul Brad Buono 
Level: Beginner
User Rating: By 6 Users
Compatibility: Java (JDK 1.2)
Views: 25737
(About the author)
 
     Replaces all occurances of a given substring with another substring in a String object. I looked for a good string replacer and all of them broke (replaced things multiple times, infinitely looped, etc), so I made one. Please let me know if this doesn't work, because if it doesn't work for you then it doesn't work for me! Thanks.
 
code:
Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.
				
//**************************************
// Name: _String Replace (for real)
// Description:Replaces all occurances of a given substring with another substring in a String object.
I looked for a good string replacer and all of them broke (replaced things multiple times, infinitely looped, etc), so I made one. Please let me know if this doesn't work, because if it doesn't work for you then it doesn't work for me! Thanks.
// By: Atul Brad Buono
//
// Inputs:aSearch=The String to search
aFind=The String to find
aReplace=The String to replace aFind with
//
// Returns:Returns aSearch with all occurances of aFind replaced with aReplace
//
//This code is copyrighted and has// limited warranties.Please see http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=2433&lngWId=2//for details.//**************************************

public static String replaceString(String aSearch, String aFind, String aReplace)
{
 String result = aSearch;
 if (result != null && result.length() > 0)
 {
int a = 0;
int b = 0;
while (true)
{
 a = result.indexOf(aFind, b);
 if (a != -1)
 {
result = result.substring(0, a) + aReplace + result.substring(a + aFind.length());
b = a + aReplace.length();
 }
 else
break;
}
 }
 return result;
}


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Beginner category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments

10/15/2001 11:27:17 AMNiperg

Thanks!I don't spend my time with your code.
(If this comment was disrespectful, please report it.)

 
5/3/2002 6:10:36 PMMark Spritzler

I was looking for something just like this a couple of days ago. This code is very simple and clean. Thanks.
(If this comment was disrespectful, please report it.)

 
12/22/2005 12:54:32 AMvidhya sagar

// u can still optimize code right

public static String replaceString(String aSearch, String aFind, String aReplace)


{
String result = aSearch;
if (result != null && result.length() > 0)


{
int a = 0;
// int b = 0;
while (true)


{
a = result.indexOf(aFind);
if (a != -1)


{
result = result.substring(0, a) + aReplace + result.substring(a + aFind.length());
// b = a + aReplace.length();
}
else
break;
}
}
return result;
}
(If this comment was disrespectful, please report it.)

 
12/22/2005 1:06:25 AMvidhya sagar

u can still optimize by removing variable b
(If this comment was disrespectful, please report it.)

 
12/22/2005 12:19:45 PMAtul Brad Buono

Sorry, you cannot get rid of b. You could end up recursively looping. E.g. replace 'foo' with 'fo' in the string 'fooofooo'. You would expect an output of 'foofoo' but if you get rid of b you will end up with 'fofo'.
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.