[Schmitzm-commits] r2173 - 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
Tue Dec 18 18:40:13 CET 2012
Author: alfonx
Date: 2012-12-18 18:40:13 +0100 (Tue, 18 Dec 2012)
New Revision: 2173
Modified:
trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
Log:
Modified: trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
===================================================================
--- trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java 2012-12-17 23:25:23 UTC (rev 2172)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java 2012-12-18 17:40:13 UTC (rev 2173)
@@ -30,13 +30,18 @@
final static Pattern REGEX_splitHnZusatz = regexCache.getPattern("(\\d+)\\s*(.*?)\\s*$");
final static Pattern REGEX_splitFullString = regexCache
- .getPattern("^(" +
- "Planken\\s*[^\\d]\\s*\\d|"+
- ".*\\d+\\.+[^\\d]*|[^\\d,]+|" +
- "[^\\d,]+(?:\\d+\\.)++[^\\d,]+" +
+ .getPattern("^("
+ +
+ "Planken\\s*[^\\d]\\s*\\d|"
+ +
+ ".*\\d+\\.+[^\\d]*|[^\\d,]+|"
+ +
+ "[^\\d,]+(?:\\d+\\.)++[^\\d,]+"
+ +
")"
+ "\\s*"
- + "(\\d+\\s*u\\.\\s*\\d+\\s*-\\s*\\d+|" +
+ + "(\\d+\\s*u\\.\\s*\\d+\\s*-\\s*\\d+|"
+ +
"\\d+\\s*/\\s*\\d+|\\d+\\s*-\\s*\\d+|\\d+|\\d+\\s*[,\\s*\\d+]+|\\d+\\s*[&]\\s*\\d+|\\d+\\s*bis\\s*\\d+|\\d+\\s*\\\\\\s*\\d+|\\d+\\s*[/\\s*\\d+]+)"
+ "\\s*+" + "([^\\d].*[0][\\d]+|[^\\d]*?)" + "\\s*$");
@@ -190,7 +195,7 @@
origHn = stringStrHnZusatz[1];
if (stringStrHnZusatz.length == 3)
origZusatz = stringStrHnZusatz[2];
-
+
if (origStrasse == null || origStrasse.isEmpty() || !origStrasse.matches(".*[A-Za-z][A-Za-z]+.*")) {
final String[] splitHn = splitHn(origHn, origZusatz);
return new String[] { null, splitHn[0], splitHn[1] };
@@ -210,11 +215,11 @@
String zusammen = origStrasse + " " + (origHn != null ? " " + origHn : "")
+ (origZusatz != null ? " " + origZusatz : "");
zusammen = zusammen.replaceAll("3. Juni", "Dritten Juni");
-
+
zusammen = trimQuotes(zusammen);
zusammen = removeKommataAfterStreetname(zusammen);
zusammen = removeTrailingHyphens(zusammen);
-// zusammen = removeSpaces(zusammen);
+ // zusammen = removeSpaces(zusammen);
zusammen = removeLeadingSpacesInfrontOfNumbers(zusammen);
zusammen = removeSpacesBetweenHiphenAndDotAndLetters(zusammen);
@@ -229,7 +234,8 @@
// + origStrasse + " " + origHn + " " + origZusatz);
// return new String[] { null, splitHn[0], splitHn[1] };
- Pattern p = regexCache.getPattern("([^\\d]*)\\s([\\d]+[^\\s]*\\s*-\\s*[^\\s]*|[\\d]+[^\\s]*|[\\d]+\\s+\\d+)$");
+ Pattern p = regexCache
+ .getPattern("([^\\d]*)\\s([\\d]+[^\\s]*\\s*-\\s*[^\\s]*|[\\d]+[^\\s]*|[\\d]+\\s+\\d+)$");
m = p.matcher(zusammen);
if (m.find()) {
strasse = m.group(1);
@@ -290,7 +296,7 @@
// if (warn)
// log.debug("Aus '" + origStrasse + "' wurde Strasse='" + strasse + "', HN='" + StringUtils.trimToNull(hn)
// + "', Zusatz='" + StringUtils.trimToNull(zusatz) + "', richtig?");
-
+
strasse = strasse.replace("Dritten Juni", "3. Juni");
return new String[] { strasse, StringUtils.trimToNull(hn), StringUtils.trimToNull(zusatz) };
@@ -515,29 +521,31 @@
strasse = strasse.toLowerCase();
- // http://de.wikipedia.org/wiki/Mannheimer_Planken
- strasse = RegexCache.getInstance().replaceAll(strasse, "^planken\\b", "");
-
- strasse = RegexCache.getInstance().replaceAll(strasse, "\\(.*?\\)", "");
+ // http://de.wikipedia.org/wiki/Mannheimer_Planken
+ RegexCache rC = RegexCache.getInstance();
+ strasse = rC.replaceAll(strasse, "^planken\\b", "");
- strasse = RegexCache.getInstance().replaceAll(strasse, "x{2,}$", "");
- strasse = RegexCache.getInstance().replaceAll(strasse, "\\sx+$", "");
+ strasse = rC.replaceAll(strasse, "\\(.*?\\)", "");
- strasse = RegexCache.getInstance().replaceAll(strasse, "wegx$", "weg");
- strasse = RegexCache.getInstance().replaceAll(strasse, "strassex$", "strasse");
- strasse = RegexCache.getInstance().replaceAll(strasse, "alleex$", "allee");
+ strasse = rC.replaceAll(strasse, "", "");
+ strasse = rC.replaceAll(strasse, "x{2,}$", "");
+ strasse = rC.replaceAll(strasse, "\\sx+$", "");
- strasse = RegexCache.getInstance().replaceAll(strasse, "str$", "strasse");
- strasse = RegexCache.getInstance().replaceAll(strasse, "str[\\.\\s]", "strasse");
- strasse = RegexCache.getInstance().replaceAll(strasse, "strase", "strasse");
- strasse = RegexCache.getInstance().replaceAll(strasse, "ßtrase", "strasse");
- strasse = RegexCache.getInstance().replaceAll(strasse, "alle\\b", "allee");
- strasse = RegexCache.getInstance().replaceAll(strasse, "alee\\b", "allee");
- strasse = RegexCache.getInstance().replaceAll(strasse, "\\s+s$", "strasse");
+ strasse = rC.replaceAll(strasse, "wegx$", "weg");
+ strasse = rC.replaceAll(strasse, "strassex$", "strasse");
+ strasse = rC.replaceAll(strasse, "alleex$", "allee");
- strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
- strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
+ strasse = rC.replaceAll(strasse, "str$", "strasse");
+ strasse = rC.replaceAll(strasse, "str[\\.\\s]", "strasse");
+ strasse = rC.replaceAll(strasse, "strase", "strasse");
+ strasse = rC.replaceAll(strasse, "ßtrase", "strasse");
+ strasse = rC.replaceAll(strasse, "alle\\b", "allee");
+ strasse = rC.replaceAll(strasse, "alee\\b", "allee");
+ strasse = rC.replaceAll(strasse, "\\s+s$", "strasse");
+ strasse = rC.replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
+ strasse = rC.replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
+
strasse = norm(strasse);
return strasse;
Modified: trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java
===================================================================
--- trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java 2012-12-17 23:25:23 UTC (rev 2172)
+++ trunk/schmitzm-adresses/src/test/java/de/schmitzm/adresses/AddrStringUtilTest.java 2012-12-18 17:40:13 UTC (rev 2173)
@@ -343,11 +343,17 @@
assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser in der O.L."));
assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser in der Oberlausitz"));
assertEquals("weisswasserxxoberlausitz", AddrStringUtil.normalizeOrt("Weißwasser Oberlausitz"));
+
}
@Test
public void testNormalizeStrasse() {
+ assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf´m Hennekamp"));
+ assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf'm Hennekamp"));
+ assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf`m Hennekamp"));
+ assertEquals("aufmhennekamp", AddrStringUtil.normalizeStr("Auf^m Hennekamp"));
+
assertEquals("a2", AddrStringUtil.normalizeStr("Planken A 2"));
assertEquals("a2", AddrStringUtil.normalizeStr("Planken A2"));
assertEquals("lilienthalstrasse", AddrStringUtil.normalizeStr("Lilienthalstraße (ggü. Haus 7)"));
More information about the Schmitzm-commits
mailing list