[Schmitzm-commits] r1854 - in trunk/schmitzm-adresses/src: main/java/de/schmitzm/adresses test/java/de/schmitzm/adresses

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Thu Feb 2 16:19:10 CET 2012


Author: alfonx
Date: 2012-02-02 16:19:10 +0100 (Thu, 02 Feb 2012)
New Revision: 1854

Modified:
   trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
   trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
Log:
ib_normStr gegen PL/PGSQL-Funktion ersetzt

Modified: trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
===================================================================
--- trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2012-02-02 14:20:48 UTC (rev 1853)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2012-02-02 15:19:10 UTC (rev 1854)
@@ -59,8 +59,8 @@
 		if (hn == null)
 			return null;
 
-		hn = hn.replaceAll("^0+","");
-		
+		hn = hn.replaceAll("^0+", "");
+
 		Pattern p = RegexCache.getInstance().getPattern("(\\d+)\\s+\\1");
 		Matcher matcher = p.matcher(hn);
 		if (matcher.find())
@@ -457,27 +457,16 @@
 
 		strasse = strasse.toLowerCase();
 
-		strasse = strasse.replaceAll("str(\\.|\\s)", "strasse");
+		strasse = strasse.replaceAll("str[\\.\\s]", "strasse");
 		strasse = strasse.replaceAll("strase", "strasse");
-		strasse = strasse.replaceAll("alle(\b|$)", "allee");
-		strasse = strasse.replaceAll("alee(\b|$)", "allee");
+		strasse = strasse.replaceAll("alle\\b", "allee");
+		strasse = strasse.replaceAll("alee\\b", "allee");
 		strasse = strasse.replaceAll("\\s*s$", "strasse");
 
-		strasse = strasse.replaceAll("\\bgeschw\\.", "geschwister");
+		strasse = strasse.replaceAll("\\bgeschw[\\.\\s-]", "geschwister");
+		strasse = strasse.replaceAll("\\bgebr[\\.\\s-]", "gebrueder");
 
-		strasse = strasse.replaceAll("ü", "ue");
-		strasse = strasse.replaceAll("ö", "oe");
-		strasse = strasse.replaceAll("ä", "ae");
-		strasse = strasse.replaceAll("ß", "ss");
-		strasse = strasse.replaceAll("é", "e");
-		strasse = strasse.replaceAll("è", "e");
-		strasse = strasse.replaceAll("á", "a");
-		strasse = strasse.replaceAll("à", "a");
-		strasse = strasse.replaceAll("-", "");
-		strasse = strasse.replaceAll(",", "");
-		strasse = strasse.replaceAll("/", "");
-		strasse = strasse.replaceAll("\\.", "");
-		strasse = strasse.replaceAll("\\s*", "");
+		strasse = norm(strasse);
 
 		return strasse;
 	}
@@ -493,12 +482,11 @@
 		ort = ort.toLowerCase();
 
 		// ein in kammern stehender zusatz " (main)" wird in "am ..." umgewandelt
-		ort = ort.replaceAll("\\((.*)\\)", "am$1"); //neu
-		
-		ort = ort.replaceAll("(?i)freiburg.+(i\\.?.?b(\\.||reisgau))[^r]", "freiburgimbreisgau"); //neu
-		ort = ort.replaceAll("(?i)^\\s*emmerich.+", "emmerich"); 
-		
-		
+		ort = ort.replaceAll("\\((.*)\\)", "am$1"); // neu
+
+		ort = ort.replaceAll("(?i)freiburg.+(i\\.?.?b(\\.||reisgau))[^r]", "freiburgimbreisgau"); // neu
+		ort = ort.replaceAll("(?i)^\\s*emmerich.+", "emmerich");
+
 		ort = ort.replaceAll("\\brbge\\.?\\b", "ruebenberge");
 
 		ort = ort
@@ -522,26 +510,35 @@
 
 		ort = ort.replaceAll("^maria[-\\s].", "");
 
-		ort = ort.replaceAll("\\bi(\\.?\\s|\\s)Sa(\\.|\\s)", "insachsen"); //neu
+		ort = ort.replaceAll("\\bi(\\.?\\s|\\s)Sa(\\.|\\s)", "insachsen"); // neu
 
-		ort = ort.replaceAll("\\ba[\\.\\s]d[\\.\\s]", "an der"); //neu
-		ort = ort.replaceAll("\\bi[\\.\\s]", "im"); //neu
-		ort = ort.replaceAll("\\ba[\\.\\s]", "am"); //neu
-		ort = ort.replaceAll("\\bb[\\.\\s]", "bei"); //neu
+		ort = ort.replaceAll("\\ba[\\.\\s]d[\\.\\s]", "an der"); // neu
+		ort = ort.replaceAll("\\bi[\\.\\s]", "im"); // neu
+		ort = ort.replaceAll("\\ba[\\.\\s]", "am"); // neu
+		ort = ort.replaceAll("\\bb[\\.\\s]", "bei"); // neu
 
-		ort = ort.replaceAll("ü", "ue");
-		ort = ort.replaceAll("ö", "oe");
-		ort = ort.replaceAll("ä", "ae");
-		ort = ort.replaceAll("ß", "ss");
-		ort = ort.replaceAll("[éè]", "e");
-		ort = ort.replaceAll("[áà]", "a");
-		ort = ort.replaceAll("-", "");
-		ort = ort.replaceAll(",", "");
-		ort = ort.replaceAll("/", "");
-		ort = ort.replaceAll("[)(]", "");
-		ort = ort.replaceAll("\\.", "");
-		ort = ort.replaceAll("\\s*", "");
+		ort = norm(ort);
 
 		return ort;
 	}
+
+	private static String norm(String txt) {
+
+		txt = LangUtil.removeWhitespacesToEmpty(txt);
+
+		txt = txt.replaceAll("ü", "ue");
+		txt = txt.replaceAll("ö", "oe");
+		txt = txt.replaceAll("ä", "ae");
+		txt = txt.replaceAll("ß", "ss");
+		txt = txt.replaceAll("[éè]", "e");
+		txt = txt.replaceAll("[áà]", "a");
+		txt = txt.replaceAll("-", "");
+		txt = txt.replaceAll(",", "");
+		txt = txt.replaceAll("/", "");
+		txt = txt.replaceAll("[)(]", "");
+		txt = txt.replaceAll("\\.", "");
+		txt = txt.replaceAll("\\s*", "");
+
+		return txt;
+	}
 }

Modified: trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
===================================================================
--- trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2012-02-02 14:20:48 UTC (rev 1853)
+++ trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java	2012-02-02 15:19:10 UTC (rev 1854)
@@ -285,6 +285,10 @@
 		assertEquals("burgstrasse", AddrStringUtil.normalizeStr("Burgstr."));
 		assertEquals("burgstrasse", AddrStringUtil.normalizeStr("Burg Straße"));
 		assertEquals("drosselweg", AddrStringUtil.normalizeStr("Drossel Weg"));
+		assertEquals("geschwisterschollstrasse", AddrStringUtil.normalizeStr("Geschw.-Scholl-Str."));
+		assertEquals("gebruederschollstrasse", AddrStringUtil.normalizeStr("Gebr.-Scholl-Str."));
+		assertEquals("gebruederschollstrasse", AddrStringUtil.normalizeStr("Gebr-Scholl-Str."));
+		assertEquals("gebruederschollstrasse", AddrStringUtil.normalizeStr("Gebr Scholl-Str."));
 		assertEquals("drvogelerstrasse", AddrStringUtil.normalizeStr("Dr.-Vogeler-Str."));
 		assertEquals("drvogelerstrasse", AddrStringUtil.normalizeStr("Dr. Vogeler Str."));
 		assertEquals("drvogelerstrasse", AddrStringUtil.normalizeStr("Dr. Vogeler Str ."));



More information about the Schmitzm-commits mailing list