Solved

validating comma seperated String

Posted on 2009-05-15
6
338 Views
Last Modified: 2012-05-07
hi guys

I have a question on a string 'environments' which i need to validate.

String environments could be  a1,a2,a3,b1,b2,b3......t1,t2,t3...z1,z2,z3...z9

environments can be single or multiple
If it is single , it can be either
a1 or a2 or a3 or a4 or a5 or a6 or a7 or a8 or a9
OR
b1 or b2 or b3 or ...b9
...
...
OR
z1 or z2 or z3 or...z9



If it is multiple, it can be a combination of above values(seperated by comma). so it can be
something like

a1,a2,c1,c9,t1,t4,z1,z6..


Is there anyway i can validate that if String environments is anything other than the above format(single or multiple), show error


any help greatly appreciated

thanks
J
0
Comment
Question by:jaggernat
6 Comments
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 50 total points
Comment Utility
You could probably split twice: first on delimiters, then on letters and numbers
0
 
LVL 12

Assisted Solution

by:Gibu George
Gibu George earned 150 total points
Comment Utility
append a , to the string, use regex to match the pattern  <alphabet><numeric><comma> and then replace with empty string, check if the output string is empty

like this
String s="a1,a2,c1,c9,t1,t4,z1,z6.";
s=s.replaceAll("(([a-z])([1-9]),)*", "");
if("".equals(s)){
SOP("valid");
}
0
 
LVL 12

Expert Comment

by:Gibu George
Comment Utility
don't forget to append a comma to the end
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 12

Expert Comment

by:Gibu George
Comment Utility
for example if the input is

a1,a23,ab3,b1,,b2,b3,

replaced output will be

a23,a,
0
 
LVL 3

Accepted Solution

by:
hazgoduk earned 300 total points
Comment Utility
If you want single letter followed by single number (i.e, a1-9, - z1-9 and not a10, a11 etc) use the first pattern to match, otherwise use the 2nd pattern
String[] split = "a1,a2,a3".split(",");

boolean allValid = true;

for(String s : split)

{

    if(!singleDigitOnly(s))

    {

        allValid = false;

        break;

    }

}
 

if(!allValid)

{

    //Do what you want to when one value doesn't match

    System.out.println("not all valid");

}

else

{

    System.out.println("all valid");

}
 
 

public boolean singleDigitOnly(String s)

{

        Matcher m = Pattern.compile("^[a-z][\\d]").matcher(s);
 

        if(s.length() == 2 && m.matches())

        {

            System.out.println(s + ": valid");

            return true;

        }

        else

        {

            System.out.println(s + ": invalid");

            return false;

        }

}
 

public boolean multipleDigits(String s)

{        

        Matcher m = Pattern.compile("^[a-z][\\d]*").matcher(s);
 

        if(m.matches())

        {

            System.out.println(s + ": valid");

            return true;

        }

        else

        {

            System.out.println(s + ": invalid");

            return false;

        }

}

Open in new window

0
 
LVL 10

Author Comment

by:jaggernat
Comment Utility
thanks guys
sorry for the delayed response.

any help with my next question is greatly appriciated!!

thanks
http://www.experts-exchange.com/Programming/Languages/Java/Q_24443170.html
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

For customizing the look of your lightweight component and making it look lucid like it was made of glass. Or: how to make your component more Apple-ish ;) This tip assumes your component to be of rectangular shape and completely opaque. (COD…
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…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…

763 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

10 Experts available now in Live!

Get 1:1 Help Now