public static String getCorrection(String text) { // All uppercase normalization HONG KONG => Hong Kong String noPunc = text.replaceAll("[^A-Z0-9]*", ""); if (StringUtils.isAllUpperCase(noPunc) && noPunc.length() > 3) { char[] letters = text.toLowerCase().toCharArray(); for (int i = 0; i < letters.length; i++) { if (i == 0 || !Character.isLetter(letters[i - 1]) && Character.isLetter(letters[i])) { letters[i] = Character.toUpperCase(letters[i]); } } return new String(letters); } // Spell check if (correctionCache.get(text) != null) { return String.valueOf(correctionCache.get(text)); } else { if (caching) { String correction = getGoogleCorrection(text); correctionCache.put(text, correction); return correction; } } return text; }
public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Введите текст и программа даст инфомрацию о тексте: "); String text = reader.readLine(); if (StringUtils.isAllUpperCase(text)) System.out.println("В тексте только заглавные буквы"); if (StringUtils.isAllLowerCase(text)) System.out.println("В тексте только строчные буквы"); if (StringUtils.isNumeric(text)) System.out.println("Тест состоит из цифр"); String tempReverse = StringUtils.reverse(text); System.out.println("Перевернутый текст: " + tempReverse); int length = StringUtils.length(text); System.out.println("Длина текста: " + length); if (length >= 5) { String tempRight = StringUtils.right(text, 5); System.out.println("Первые 5 символов текста: " + tempRight); } else { System.out.println("Длина текста менее 5 символов"); } reader.close(); }
@Override public boolean evaluate(final String object) { return StringUtils.isAllUpperCase(object); }