Помогите решить задачу с регулярными выражениями, уж очень тяжко мне они даются.
Задание:
Задание должно быть решено с помощью регулярных выражений без использования контейнерных классов.
Вход: текст (может состоять из латиницы и кириллицы). Выход: исходный текст, но регистр первого символа каждого слова, которое состоит из трех и более символов, должен быть интвертирован.
Словом считать последовательность содержащую только буквы (все остальные символы в состав слова не входят). Создать статический метод convert, который преобразовывает вход в выход.
Заглушка метода
public static String convert(String input) {
...
}
Пример Input data
When I was younger
I never needed
Пример Output
when I Was Younger
I Never Needed
Вот так можно сделать:
public class Test {
public static void main(String[] args) {
System.out.println(convert("When I was younger I never needed"));
}
public static String convert(String input) {
StringBuilder sb = new StringBuilder(input);
Pattern p = Pattern.compile("[\\W&&[\\d]]?[\\w&&[\\D]]+");
Matcher m = p.matcher(input);
while (m.find()) {
if (m.group().length() >= 3) {
if (Character.isUpperCase(sb.charAt(m.start()))) {
sb.setCharAt(m.start(), Character.toLowerCase(sb.charAt(m.start())));
} else {
sb.setCharAt(m.start(), Character.toUpperCase(sb.charAt(m.start())));
}
}
}
return sb.toString();
}
}
Если вставить цифры, или другие символы внутрь слов (например строка: When I wa%s you35nger I ne$ver nee-ded
), то они также считаются разделителями слов и программа справляется с этим. В итоге получается строка: when I wa%s You35Nger I ne$Ver Nee-Ded
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня такой вопрос, в приложении нужно реализовать работу фоновых процессов по периодическому определению координат пользователей
Я реализую RESTFul сервис, позволяющий возвращать информацию о пользователяхУ меня есть два Entity, которые цепляются из БД
Есть программа, которой подается на вход 2 натуральных числа: размеры таблицы (а*b) и строка вида ADD (число) (число)Оба числа являются координатами...
У меня есть отдельный файл с картинками под названием src, в котором файл img и там картинкиФайл Src я назначил права Resources Root