Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Set<String> getIdsFromRangeQuery(String multipleIds) {
- multipleIds = multipleIds.toUpperCase().replace(" ", "");
- Set<String> inSet = new HashSet<String>();
- String[] parts = multipleIds.split(";");
- for (String part : parts) {
- if (part.matches("M([0-9]+)C([0-9]+)")) {
- inSet.add(part);
- } else if (part.matches("M([0-9]+)C([0-9]+)-M([0-9]+)C([0-9]+)")){
- String [] fromTo = part.split("-");
- int mFrom = Integer.parseInt( fromTo[0].substring(1,fromTo[0].indexOf("C")) );
- int mTo = Integer.parseInt( fromTo[1].substring(1,fromTo[1].indexOf("C")) );
- int cFrom = Integer.parseInt( fromTo[0].substring(fromTo[0].lastIndexOf("C")+1) );
- int cTo = Integer.parseInt( fromTo[1].substring(fromTo[1].lastIndexOf("C")+1) );
- for(int i=mFrom; i<=mTo; i++) {
- for (int j=cFrom; j<=cTo; j++) {
- inSet.add("M"+i+"C"+j);
- }
- }
- } else if ( part.matches("[0-9]+") ) {
- inSet.add(part);
- } else if ( part.matches("([0-9]+)-([0-9]+)")) {
- String [] fromTo = part.split("-");
- int from = Integer.parseInt( fromTo[0] );
- int to = Integer.parseInt( fromTo[1] );
- for (int i=from; i<=to; i++) {
- inSet.add(String.valueOf(i));
- }
- } else {
- inSet.add(part);
- }
- }
- return inSet;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement