X отмечает точку: забавные способы замены гласных на «x» в Java

Метод 1: использование метода replaceAll()
Наш первый метод предполагает использование возможностей метода replaceAll(), который удобен для замены символов в строке с помощью регулярных выражений. Вот фрагмент кода:

String originalString = "Hello, world!";
String modifiedString = originalString.replaceAll("[aeiouAEIOU]", "x");
System.out.println(modifiedString);

Метод 2: перебор строки
Для тех, кто предпочитает более практический подход, мы можем перебрать каждый символ строки и вручную заменить гласные. Посмотрите этот фрагмент кода:

String originalString = "Hello, world!";
StringBuilder modifiedString = new StringBuilder();
for (int i = 0; i < originalString.length(); i++) {
    char currentChar = originalString.charAt(i);
    if ("aeiouAEIOU".contains(String.valueOf(currentChar))) {
        modifiedString.append('x');
    } else {
        modifiedString.append(currentChar);
    }
}
System.out.println(modifiedString.toString());

Метод 3: использование регулярных выражений с Matcher
Другой метод предполагает использование класса Matcher из пакета java.util.regex. Вот пример фрагмента кода:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
String originalString = "Hello, world!";
Pattern pattern = Pattern.compile("[aeiouAEIOU]");
Matcher matcher = pattern.matcher(originalString);
String modifiedString = matcher.replaceAll("x");
System.out.println(modifiedString);

Метод 4: Магия лямбда-выражений
В Java 8 появились лямбда-выражения, которые можно использовать для того, чтобы сделать код более кратким. Давайте посмотрим, как можно реализовать замену гласных с помощью лямбда-выражений:

String originalString = "Hello, world!";
String modifiedString = originalString
        .chars()
        .mapToObj(c -> (char) c)
        .map(c -> "aeiouAEIOU".contains(String.valueOf(c)) ? 'x' : c)
        .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
        .toString();
System.out.println(modifiedString);

В этой статье мы рассмотрели несколько забавных методов замены гласных на «x» в Java. От простоты метода replaceAll() до гибкости лямбда-выражений — теперь у вас есть множество вариантов на выбор. Итак, продолжайте и оживите свои манипуляции со струнами с помощью этих техник. Приятного кодирования!