private static String formatString(String orginal, String delimiter) {
		if (orginal.length() > 1) {
			String[] temp = orginal.split(delimiter);
			StringBuffer sb = new StringBuffer();
			for (String cat : temp) {
				if (cat.length() > 1) {
					String formated = null;
					if (cat.contains("@")) {
						formated = cat.toLowerCase();
					} else if (!cat.equals("P.O.") && cat.length() > 3 && !cat.contains(".")) {
						formated = StringUtils.capitalize(cat.toLowerCase());
					} else {
						formated = cat.toUpperCase();
					}
					sb.append(formated.trim());
					sb.append(delimiter);
					if(",".equals(delimiter)) {
						sb.append(" ");
					}
				} else {
					sb.append(cat.toUpperCase());
					sb.append(delimiter);
				}
			}
			String s = sb.toString().replaceAll("\\(e\\)", "(E)").replaceAll("\\(w\\)", "(W)")
					.replaceAll("\\(s\\)", "\\(S\\)").replaceAll("\\(n\\)", "\\(N\\)")
					.replaceAll("\\(west\\)", "(WEST)").replaceAll("\\(north\\)", "(NORTH)")
					.replaceAll("\\(south\\)", "(SOUTH)").replaceAll("\\(east\\)", "(EAST)").trim();
			return s.endsWith(delimiter) ? s.substring(0, s.length()-1) : s;
		} else {
			return orginal.toUpperCase();
		}
	}