Solved

Java Replace String

Posted on 2010-09-12
8
353 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
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
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.

809 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