public static String strCapitalize(String s) {
		StringBuilder result = new StringBuilder(s.length());

		for (int i = 0; i < s.length(); i++) {
			char c = s.charAt(i);
			if ((i + 1 < s.length()) && (c == ' ' || c == '-' || c == '_')) {
				result.append(c);
				result.append(Character.toUpperCase(s.charAt(++i)));
			} else if (i == 0) {
				result.append(Character.toUpperCase(c));
			} else {
				result.append(c);
			}
		}

		return result.toString();
	}