[Schmitzm-commits] r2034 - trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Sun May 27 23:13:51 CEST 2012


Author: alfonx
Date: 2012-05-27 23:13:51 +0200 (Sun, 27 May 2012)
New Revision: 2034

Modified:
   trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java
   trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/XLSNormRule.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-05-27 21:01:05 UTC (rev 2033)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/AddrStringUtil.java	2012-05-27 21:13:51 UTC (rev 2034)
@@ -60,7 +60,7 @@
 		if (hn == null)
 			return null;
 
-		hn = hn.replaceAll("^0+", "");
+		hn = RegexCache.getInstance().replaceAll(hn, "^0+", "");
 
 		Matcher matcher = RegexCache.getInstance().getMatcher("(\\d+)\\s+\\1", hn);
 		if (matcher.find())
@@ -279,7 +279,7 @@
 	 * @return
 	 */
 	public static String removeTrailingHyphens(String zusammen) {
-		return zusammen.replaceAll("(.*)\\s?[-]$", "$1");
+		return RegexCache.getInstance().replaceAll(zusammen, "(.*)\\s?[-]$", "$1");
 	}
 
 	/**
@@ -287,11 +287,11 @@
 	 * @return
 	 */
 	public static String removeKommataAfterStreetname(String zusammen) {
-		return zusammen.replaceAll("([A-Za-z][A-Za-z]+)\\s?[,]\\s?(\\d+)", "$1 $2");
+		return RegexCache.getInstance().replaceAll(zusammen, "([A-Za-z][A-Za-z]+)\\s?[,]\\s?(\\d+)", "$1 $2");
 	}
 
 	private static String removeSpacesBetweenHiphenAndDotAndLetters(String zusammen) {
-		zusammen = zusammen.replaceAll("([A-Za-z]+)\\s+([.-]*)\\s?([.-])+", "$1$2$3");
+		zusammen = RegexCache.getInstance().replaceAll(zusammen, "([A-Za-z]+)\\s+([.-]*)\\s?([.-])+", "$1$2$3");
 		return zusammen;
 	}
 
@@ -299,7 +299,7 @@
 	 * Bearbeitung eines Spezialfalls, der nicht funktioniert...
 	 */
 	public static String removeLeadingSpacesInfrontOfNumbers(String zusammen) {
-		return zusammen.replaceAll("([,/\\\\])\\s+(\\d+)", "$1$2");
+		return RegexCache.getInstance().replaceAll(zusammen, "([,/\\\\])\\s+(\\d+)", "$1$2");
 	}
 
 	/**
@@ -355,7 +355,7 @@
 
 		final List<String> result = new ArrayList<String>();
 
-		hausnummerUntested = hausnummerUntested.replaceAll("\\s+", "");
+		hausnummerUntested = RegexCache.getInstance().replaceAll(hausnummerUntested, "\\s+", "");
 
 		Matcher m = REGEX_hnZusatzBereich2aBis2f.matcher(hausnummerUntested);
 		if (m.find()) {
@@ -457,22 +457,22 @@
 
 		strasse = strasse.toLowerCase();
 
-		strasse = strasse.replaceAll("x{2,}$", "");
-		strasse = strasse.replaceAll("\\sx+$", "");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "x{2,}$", "");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\sx+$", "");
 
-		strasse = strasse.replaceAll("wegx$", "weg");
-		strasse = strasse.replaceAll("strassex$", "strasse");
-		strasse = strasse.replaceAll("alleex$", "allee");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "wegx$", "weg");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "strassex$", "strasse");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "alleex$", "allee");
 
-		strasse = strasse.replaceAll("str[\\.\\s]", "strasse");
-		strasse = strasse.replaceAll("strase", "strasse");
-		strasse = strasse.replaceAll("ßtrase", "strasse");
-		strasse = strasse.replaceAll("alle\\b", "allee");
-		strasse = strasse.replaceAll("alee\\b", "allee");
-		strasse = strasse.replaceAll("\\s+s$", "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 = strasse.replaceAll("\\bgeschw[\\.\\s-]", "geschwister");
-		strasse = strasse.replaceAll("\\bgebr[\\.\\s-]", "gebrueder");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgeschw[\\.\\s-]", "geschwister");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\bgebr[\\.\\s-]", "gebrueder");
 
 		strasse = norm(strasse);
 
@@ -490,62 +490,65 @@
 		ort = ort.toLowerCase();
 
 		// ein in kammern stehender zusatz " (main)" wird in "xmein.." umgewandelt
-		ort = ort.replaceAll("\\((.*)\\)", "xx$1"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, "\\((.*)\\)", "xx$1"); // neu
 
-		ort = ort.replaceAll("(?i)freiburg.+(i\\.?.?b(\\.||reisgau))[^r]", "freiburg im breisgau"); // neu
-		ort = ort.replaceAll("(?i)^\\s*emmerich$", "emmerich am rhein");
+		ort = RegexCache.getInstance().replaceAll(ort, "(?i)freiburg.+(i\\.?.?b(\\.||reisgau))[^r]",
+				"freiburg im breisgau"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, "(?i)^\\s*emmerich$", "emmerich am rhein");
 
-		ort = ort.replaceAll("\\brbge\\.?\\b", "ruebenberge");
-		ort = ort.replaceAll("\\bopf\\.?\\b", "oberpfalz");
-		ort = ort.replaceAll("\\bupf\\.?\\b", "unterpfalz");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\brbge\\.?\\b", "ruebenberge");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bopf\\.?\\b", "oberpfalz");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bupf\\.?\\b", "unterpfalz");
 
-		ort = ort
+		ort = RegexCache
+				.getInstance()
 				.replaceAll(
+						ort,
 						"\\b(konrad.?zuse.?|berg|documenta.?|loreley|universit(ae|ä)ts|kreis|landeshaupt|freie und hanse|hanse|)(stadt|st\\.)$",
 						"");
-		ort = ort.replaceAll("\\bgemfr\\b", "");
-		ort = ort.replaceAll("\\bgdefrgeb\\b", "");
-		ort = ort.replaceAll("\\bgemeindefrei\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bgemfr\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bgdefrgeb\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bgemeindefrei\\b", "");
 
-		ort = ort.replaceAll("\\bbezirk\\b", "");
-		ort = ort.replaceAll("\\bgebiet\\b", "");
-		ort = ort.replaceAll(".\\bmarkt$", "");
-		ort = ort.replaceAll("\\bgkst\\b", "");
-		ort = ort.replaceAll("\\b(markt|)flecken$", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bbezirk\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bgebiet\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bmarkt$", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bgkst\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\b(markt|)flecken$", "");
 
-		ort = ort.replaceAll("\\bkurort$", "");
-		ort = ort.replaceAll("\\bheilbad\\b", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bkurort$", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bheilbad\\b", "");
 
-		ort = ort.replaceAll("\\bst[\\.\\s]", "sankt");
-		ort = ort.replaceAll("\\bsta[\\.\\s]", "sankt");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bst[\\.\\s]", "sankt");
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bsta[\\.\\s]", "sankt");
 
-		ort = ort.replaceAll("^maria[-\\s].", "");
+		ort = RegexCache.getInstance().replaceAll(ort, "^maria[-\\s].", "");
 
-		ort = ort.replaceAll("\\bi(\\.?\\s|\\s)Sa(\\.|\\s)", "insachsen"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, "\\bi(\\.?\\s|\\s)Sa(\\.|\\s)", "insachsen"); // neu
 
-		ort = ort.replaceAll(".\\bauf\\b", "xx"); // NEU 10.5.2012 "Bergen auf Rügen"
-		ort = ort.replaceAll(".\\ban[\\.\\s]der\\b", "xx");
-		ort = ort.replaceAll(".\\ban[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bauf\\b", "xx"); // NEU 10.5.2012 "Bergen auf Rügen"
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\ban[\\.\\s]der\\b", "xx");
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\ban[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
 
-		ort = ort.replaceAll(".\\bin[\\.\\s]der\\b", "xx"); // neuneu
-		ort = ort.replaceAll(".\\bin[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bin[\\.\\s]der\\b", "xx"); // neuneu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bin[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
 
-		ort = ort.replaceAll(".\\bi[\\.\\s]der\\b", "xx"); // neuneu
-		ort = ort.replaceAll(".\\bi[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bi[\\.\\s]der\\b", "xx"); // neuneu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bi[\\.\\s]d[\\.\\s]\\b", "xx"); // neuneu
 
-		ort = ort.replaceAll(".\\bin\\b", "xx"); // neu
-		ort = ort.replaceAll(".\\bin\\b", "xx"); // neu
-		ort = ort.replaceAll(".\\bim\\b", "xx"); // neu
-		ort = ort.replaceAll(".\\bam\\b", "xx"); // neu
-		ort = ort.replaceAll(".\\ban\\b", "xx"); // neu
-		ort = ort.replaceAll(".\\bbei\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bin\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bin\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bim\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bam\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\ban\\b", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bbei\\b", "xx"); // neu
 
-		// ort = ort.replaceAll(".\\ba[\\.\\s]\\s?d[\\.\\s]", "xx"); // neu
-		ort = ort.replaceAll(".\\ba[\\.\\s]\\s?d[\\.\\s]", "xx"); // Bad Neustadt a. d. Saale
+		// ort = RegexCache.getInstance().replaceAll(ort,".\\ba[\\.\\s]\\s?d[\\.\\s]", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\ba[\\.\\s]\\s?d[\\.\\s]", "xx"); // Bad Neustadt a. d. Saale
 
-		ort = ort.replaceAll(".\\bi[\\.\\s]", "xx"); // neu
-		ort = ort.replaceAll(".\\ba[\\.\\s]", "xx"); // neu
-		ort = ort.replaceAll(".\\bb[\\.\\s]", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bi[\\.\\s]", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\ba[\\.\\s]", "xx"); // neu
+		ort = RegexCache.getInstance().replaceAll(ort, ".\\bb[\\.\\s]", "xx"); // neu
 
 		ort = norm(ort);
 
@@ -575,20 +578,20 @@
 	static public String saeubereStrassenname(String orginal) {
 		String strasse = LangUtil.removeTags(orginal).toLowerCase();
 
-		strasse = strasse.replaceAll("str\\.ße", "str.");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "str\\.ße", "str.");
 
-		strasse = strasse.replaceAll("\\+", " ");
-		strasse = strasse.replaceAll("\\s\\s+", " ");
-		strasse = strasse.replaceAll("(\\d)\\s", "$1");
-		strasse = strasse.replaceAll("-\\s+", "-");
-		strasse = strasse.replaceAll("\\s+-", "-");
-		strasse = strasse.replaceAll("tra(ss|ß)e( |\\d)", "tr.$2");
-		strasse = strasse.replaceAll("tra(ss|ß)e\\b", "tr.");
-		strasse = strasse.replaceAll("str[^\\.]\\b", "str.");
-		strasse = strasse.replaceAll("([^\\d^\\s])(\\d)", "$1 $2");
-		strasse = strasse.replaceAll("str$", "str.");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\+", " ");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\s\\s+", " ");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "(\\d)\\s", "$1");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "-\\s+", "-");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "\\s+-", "-");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "tra(ss|ß)e( |\\d)", "tr.$2");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "tra(ss|ß)e\\b", "tr.");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "str[^\\.]\\b", "str.");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "([^\\d^\\s])(\\d)", "$1 $2");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "str$", "str.");
 
-		strasse = strasse.replaceAll("^Str\\.$", "");
+		strasse = RegexCache.getInstance().replaceAll(strasse, "^Str\\.$", "");
 
 		{
 			// Großschreibung aller Anfangsbuchstaben, AUSSER in den Hausnummerzusätzen
@@ -610,15 +613,15 @@
 			if (firstNumIdx > 2 && firstNumIdx < strasse.length() - 1) {
 				s2 = strasse.substring(firstNumIdx, strasse.length());
 				s2 = s2.toLowerCase();
-				s2 = s2.replaceAll("\\s+", "");
+				s2 = RegexCache.getInstance().replaceAll(s2, "\\s+", "");
 				strasse = strasse.substring(0, firstNumIdx);
 			}
 			strasse = WordUtils.capitalize(strasse, new char[] { ' ', '-' });
 			strasse = strasse + s2;
 		}
 
-		strasse = strasse.replaceAll(" Dem ", " dem ");
-		strasse = strasse.replaceAll(" Der ", " der ");
+		strasse = RegexCache.getInstance().replaceAll(strasse, " Dem ", " dem ");
+		strasse = RegexCache.getInstance().replaceAll(strasse, " Der ", " der ");
 
 		return strasse;
 	}

Modified: trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/XLSNormRule.java
===================================================================
--- trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/XLSNormRule.java	2012-05-27 21:01:05 UTC (rev 2033)
+++ trunk/schmitzm-adresses/src/main/java/de/schmitzm/adresses/XLSNormRule.java	2012-05-27 21:13:51 UTC (rev 2034)
@@ -1,11 +1,12 @@
 package de.schmitzm.adresses;
 
+import de.schmitzm.regex.RegexCache;
+
 public class XLSNormRule implements NormRule {
 
 	@Override
 	public String toString() {
-		return "XLSNormRule [was=" + was + ", zu=" + zu + ", regEx=" + regEx
-				+ ", comment=" + comment + "]";
+		return "XLSNormRule [was=" + was + ", zu=" + zu + ", regEx=" + regEx + ", comment=" + comment + "]";
 	}
 
 	private final String was;
@@ -27,7 +28,7 @@
 		String orig = str;
 
 		if (regEx) {
-			str = str.replaceAll(was, zu);
+			str = RegexCache.getInstance().replaceAll(str, was, zu);
 		} else {
 			str = str.replace(was, zu);
 		}



More information about the Schmitzm-commits mailing list