Solved

How to extract a portion of a string using regular expressions in Java

Posted on 2011-03-17
13
193 Views
Last Modified: 2012-05-11
0
Comment
Question by:Tolgar
  • 5
  • 5
  • 3
13 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 35157368
It looks like all that's happening is that you're appending

mycheck/report.html

..?
0
 

Author Comment

by:Tolgar
ID: 35157462
Yes. But in some cases I remove some portion of it like "sbtest/mylog_results.html" and in some other cases I don't need to remove.

So it is not actually just adding "mycheck/report.html" to the end of each link.

Hope this explains better

Thanks,
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35157592
You'd have to define the rules, otherwise  it's impossible to say
0
 

Author Comment

by:Tolgar
ID: 35157882
You are right. Here is the rule:

This part is fixed:

http://www-internal.mywork.com/mywork/devel/sandbox/ANYTEXT/

The rest is not clear. But let me try to make a rule.

Apqr_test_mytests/glnxa64
mytests_logs/02-23-2011/glnxa64
prequal_testlog/Apqr_j123456_mytests/glnxa64/sbtest/mylog_results.html
prequal_testlog/Apqr_j123456_mytests/glnxa64/sbtest/mylog_results.html
MERGE_mytests/glnxa64_2011-02_sidCopy


From these example cases the rule is:
Note: Parathesis can be ignored. They are not part of the rule. I just used them to group parts.

http://www-internal.mywork.com/mywork/devel/sandbox/ANYTEXT/ ( 1 or many ANYTEXT/ ) ( 1 or 0 ANYTEXT.html )


Thanks,
0
 
LVL 47

Expert Comment

by:for_yan
ID: 35158124


Still, not quite clear to me what is the rule:

I see, you start from:

http://www-internal.mywork.com/mywork/devel/sandbox/ANYTEXT/ ( 1 or many ANYTEXT/ ) ( 1 or 0 ANYTEXT.html )



You are adding mycheck/report.html
 but you are removing some part, where, I guess, there is already report.

But how would one know, say,  that "/sbtest/" should also be removed?


0
 

Author Comment

by:Tolgar
ID: 35158275
You are right.

The rule that I wrote is for the match only. Now from this match I want to remove the part to the beginning of sbtest if there is any sbtest. And add mycheck/report.html

If there is no sbtest then directly add mycheck/report.html.

And from the rule I have given before, we don't know how many directories we have (ANYTEXT/) until the x.html file.

I hope it is clear now.

Thanks,
0
Highfive Gives IT Their Time Back

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

Accepted Solution

by:
CEHJ earned 500 total points
ID: 35158334
The following should be OK then
int ix = 0;
if((ix =s.indexOf("/sbtest")) > -1) {
	s = s.substring(0, ix);
}
s += suffix;

Open in new window

0
 
LVL 47

Expert Comment

by:for_yan
ID: 35158335


Don't know about regular expressions, but this is how you can do it with regual java:

String s1 = s.substring(0, s.lastIndexOf("/"));
if(s1.endsWith("sbtest"))s1 = s1.substring(0,s1.lastIndexOf("/"));
s1 += "/mycheck/report.html";
0
 

Author Comment

by:Tolgar
ID: 35158580
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35158597
'suffix' in my example is of course

"/mycheck/report.html"
0
 
LVL 47

Expert Comment

by:for_yan
ID: 35158656
Yes, you are right; CEHJ's is more general, I assumed that sbtest is always the last folder which contains the .html file
0
 

Author Comment

by:Tolgar
ID: 35158765
Thanks guys...
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35158839
:)
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Whatever be the reason, if you are working on web development side,  you will need day-today validation codes like email validation, date validation , IP address validation, phone validation on any of the edit page or say at the time of registration…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

706 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

11 Experts available now in Live!

Get 1:1 Help Now