Solved

Java Replace String

Posted on 2010-09-12
8
350 Views
Last Modified: 2013-12-29
I want to do find and replace. For example we have a string with something like .
"  select * from table a, table b where
a.id = b.id
/*<input>
and
a.input = ?
<input>*/   "

Now i want tofind all /*<input>  and <input>*/ and replace it with blank space or remove it.
0
Comment
Question by:shetty01
8 Comments
 
LVL 40

Expert Comment

by:gurvinder372
ID: 33657279

String str="select * from table a, table b where a.id = b.id /*<input> and a.input = ? <input>*/  ";
System.out.println(str.replace("<input>","\\s"));
0
 
LVL 40

Expert Comment

by:gurvinder372
ID: 33657304
String str="select * from table a, table b where a.id = b.id /*<input> and a.input = ? <input>*/  ";
System.out.println(str.replaceAll("<input>","\\s"));
0
 
LVL 1

Expert Comment

by:vkphoenixfr
ID: 33660313
Use The commons library.
In your case, commons-lang, and it's StringUtils class :

StringUtils.replace(originalString, stringToReplace, stringReplacement);

Replaces all occurences of stringToReplace in originalString by stringReplacement.

So if you want to remove <input> by nothing, th line goes like that :
String newSqlQuery = StringUtils.replace(sqlQuery, "<input>", "");

More generally, have a look at commons library, they are really usefull (commons-lang, commons-io, commons-dbcp, and so on...) Go to apache commons website to see how many they have.

It allows  you to use a well written, tested and proven to be efficient set of very usefull functions.

Who nowadays closes an IO stream without using IOUtils.closeSilentlt(ioStream);     :)

Phoenix
0
 
LVL 16

Expert Comment

by:Valeri
ID: 33660331
Does the /*<input> and <input>*/ are considered to be something like start and end tag? I think they are, so try this, because '*' must be avoided in this way :
System.out.println(str.replaceAll("/\\*<input>","").replaceAll("<input>\\*/",""));
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 86

Expert Comment

by:CEHJ
ID: 33660843
Try the following:
s = s.replaceAll("(?sm)(/\\*<input>.*?<input>\\*/)", "");	

Open in new window

0
 
LVL 86

Expert Comment

by:CEHJ
ID: 33660852
btw, the dup question you posted on this should be deleted
0
 

Author Comment

by:shetty01
ID: 33664250
I found the solution. Somehow i posted it twice since first time my post did not work.  I got solution in my other post. thanks for help.
0
 
LVL 86

Accepted Solution

by:
CEHJ earned 500 total points
ID: 33664323
Please post then the code you're actually using. (The code you refer to won't work as is)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now