package dk.daoas.daoadresseservice; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.text.WordUtils; public class AddressUtils { public static class SplitResult { public String vej = ""; public String husnr = ""; public String litra = ""; public String etage = ""; public String lejlighed = ""; public String resten = ""; } public static String vaskVejnavn(String indVejnavn) { String out = indVejnavn.toLowerCase(); out = out.replace(" ", ""); out = out.replace(".", ""); out = out.replace(",", ""); out = out.replace("-", ""); out = out.replace("/", ""); out = out.replace("\\", ""); out = out.replace("'", ""); return out; } public static String injectIntoBk(String bkrute, String injected) { String parts[] = bkrute.split("/"); return parts[0] + "/" + parts[1] + "/" + parts[2] + "/" + injected + parts[3]; } /* * Er en 1-1 port af SplitAdresse() fra funcSplitAdresse.php */ public static SplitResult splitAdresse(String indAdresse) { indAdresse = indAdresse.trim(); SplitResult result = new SplitResult(); int i=0; int len = indAdresse.length(); StringBuilder delStreng = new StringBuilder(); // ignorer blanke og komma og punktum while (i" + delStreng + "< " +i); if (delStreng.length() == 1) { result.litra = delStreng.toString().toUpperCase(); if ( !Character.isAlphabetic(result.litra.charAt(0))) { result.litra = ""; //$HusBogstav må KUN være A-Z } delStreng = new StringBuilder(); // ignorer blanke og komma og punktum while (i=len) //THN tilføjelse return result; if (Character.isAlphabetic(indAdresse.charAt(i) )) { if ( (i+1 == len || (Character.isAlphabetic(indAdresse.charAt(i+1)) == false && indAdresse.charAt(i+1) != '.') ) ) { result.litra = "" + indAdresse.charAt(i); result.litra = result.litra.toUpperCase(); i++; } } // første tal er etage (eller evt. st er stuen) if (delStreng.toString().toLowerCase().equals("st")) { result.etage = delStreng.toString().toLowerCase(); } else { delStreng = new StringBuilder(); String nextTwo = StringUtils.substring(indAdresse, i, i+2).toLowerCase(); if ( nextTwo.equals("st") ) { result.etage = nextTwo; i += nextTwo.length(); } else { while ((i < len) && Character.isDigit(indAdresse.charAt(i))==true ) { delStreng.append( indAdresse.charAt(i) ); i++; } result.etage = delStreng.toString(); } } // Hvis vi fandt en etage angivelse skal vi også kigge efter lejlighed/side if (result.etage.length() > 0 ) { // ignorer blanke og komma og punktum while (i