Java:
Преобразование строки в нижний регистр
Как это сделать:
Класс String
в Java имеет удобный метод toLowerCase()
, который делает всю тяжёлую работу за вас. Посмотрите на это простое использование:
public class LowerCaseExample {
public static void main(String[] args) {
String original = "Java ROCKS!";
String lowerCased = original.toLowerCase();
System.out.println(lowerCased);
}
}
Вывод:
java rocks!
Вот и всё. Строка превращается в спокойный нижний регистр.
Углубляемся
Когда-то обработка текста была сложным делом. Разные языки, разные регистры, компьютерные системы кричали от путаницы. Java, появившаяся на сцене в 90-х, стремилась упростить вещи. Метод toLowerCase()
был частью класса String
в Java с незапамятных времён.
Но под капотом есть кое-что интересное. Вы можете задаться вопросом, зачем вообще нужен метод toLowerCase()
. Дело в том, что не во всех культурах “нижний регистр” определяется одинаково. Метод чувствителен к локали, использует локаль по умолчанию вашей системы, или вы можете указать её, используя toLowerCase(Locale locale)
.
Вот ещё один поворот: языки с более изысканными скриптами, как турецкий, имеют специальные символы “без точек” i, которые могут выбросить обычное приведение к нижнему регистру за борт. Поэтому Java предоставляет возможность быть дотошными в преобразовании символов.
Альтернативы? Конечно, вы можете пройтись по строке с циклом for
, вручную меняя символы. Но зачем изобретать велосипед, когда Java за вас всё сделала?
К тому же, это может удивить некоторых: строки в Java неизменяемы. Когда вы используете toLowerCase()
, вы не изменяете оригинальную строку, вы создаёте новую, целиком и полностью.
Смотрите также
Ознакомьтесь с этими ресурсами, чтобы улучшить свои навыки работы со строками:
И для подробных деталей о Стандарте Unicode: