Как сделать нижний регистр java
Я попытался найти руководство по этому вопросу, но я продолжаю получать решения по всей строке или одному символу. Я нахожусь на своей 4-й неделе Java и попал в блокпост.
Я должен попросить пользователя ввести три буквы ("Введите три буквы: abc"). В зависимости от того, в каком случае они печатаются, мне нужно написать программу, которая сворачивает верхнюю с более низкой и наоборот. Например, если пользователь набирает "aBc", мой вывод будет "AbC".
Это то, что у меня есть до сих пор. Если мой код ужасен, извините. Я учусь, когда иду.
Когда я вводил "abc" для ввода, выход был:
A B C A B C A B C
Формат вывода должен быть "Result: ABC" . Я могу поработать над этим позже. Я просто пытаюсь понять, как заставить это выполнить правильно. Моя догадка в том, что я определенно ошибаюсь в своих операторах if/else. Я не знаю, как печатать измененные символы в строке (abc, AbC, ABC и т.д.). Я думал, что правильно сделал это с самого начала с индексацией строки (0,1,2).
Кстати, он не показывает мой результат правильно этот форум. Предполагается, что это одна буква в строке, а не "ABCABCABC", если бы я имел смысл с этим.
Мы рассмотрели базовые понятия, касающиеся строк. Давайте пойдём дальше и рассмотрим, какие полезные операции мы можем выполнять со строками, используя встроенные функции, такие как поиск длины текстовой строки, объединение и разделение строк, замена одного символа из строки другим и многое другое.
Необходимые знания: | Базовая компьютерная грамотность, базовое понимание HTML и CSS, понимание того, что такое JavaScript. |
---|---|
Задача: | Понять, что строки являются объектами, и изучить, как использовать некоторые из основных методов, доступных для этих объектов для управления строками. |
Строки как объекты
Почти всё в JavaScript является объектами. Когда вы создаёте строку, например:
ваша переменная становится строковым объектом, и, как результат, ей доступно множество свойств и методов. Можете убедиться в этом, перейдя на страницу String и просмотрев на ней список свойств и методов!
Только не волнуйтесь! Большинство из них вам не нужно знать сейчас на ранней стадии вашего обучения. Но некоторые из них вы, возможно, будете использовать довольно часто. Их мы и рассмотрим.
Введем несколько примеров в консоль разработчика.
Поиск длины строки
Это легко — вы просто используете свойство length . Попробуйте ввести следующие строки:
Получение определённого строкового символа
Вы можете вернуть любой символ внутри строки, используя обозначение в квадратных скобках. Это означает, что вы добавляете квадратные скобки ([ ]) в конце вашего имени переменной. В квадратных скобках вы указываете номер символа, который хотите вернуть. Например, чтобы получить первую букву, нужно написать:
Компьютеры считают от 0, а не 1! Чтобы получить последний символ любой строки, мы могли бы использовать следующую строку, объединив эту технику с свойством length :
Поиск подстроки внутри строки и её извлечение
Примечание: второй параметр slice() не обязателен: если вы его не включите в код, обрезание закончится на конце оригинальной строки. Есть и другие варианты; изучите страницу slice () , чтобы узнать, что ещё вы можете узнать.
Изменение регистра
Строковые методы toLowerCase () и toUpperCase () преобразовывают все символы в строке в нижний или верхний регистр соответственно. Этот способ можно применить, если вы хотите нормализовать все введённые пользователем данные перед их сохранением в базе данных.
Попробуем ввести следующие строки, чтобы узнать, что происходит:
Обновление частей строки
Вы можете заменить одну подстроку внутри строки на другую подстроку, используя метод replace () . Этот метод работает очень просто на базовом уровне, но у него есть некоторые продвинутые свойства, но мы пока не будем вдаваться в детали.
Он принимает два параметра — строку, которую вы хотите заменить, и строку, которую вы хотите вставить вместо заменяемой. Попробуйте этот пример:
Обратите внимание, что для фактического получения обновлённого значения, отражённого в переменной browserType в реальной программе, вам нужно будет установить значение переменной в результате операции; он не просто обновляет значение подстроки автоматически. Таким образом, вы должны были бы написать это: browserType = browserType.replace('moz','van');
Активные примеры обучения
В этом разделе мы дадим вам попробовать набить руку и вместе напишем код строковой манипуляции. В каждом упражнении ниже у нас есть массив строк и цикл, который обрабатывает каждое значение в массиве и отображает его в маркированном списке. Вам не нужно понимать массивы или циклы прямо сейчас — это будет объяснено в будущих статьях. Все, что вам нужно сделать в каждом случае, — написать код, который выводит строки в том формате, в котором мы предлагаем.
В каждом примере есть кнопка Сбросить, которую вы можете использовать для сброса кода, если вы допустили ошибку и не можете заставить его работать снова, а кнопку Показать решение вы можете нажать, чтобы увидеть потенциальный ответ, если вы действительно застрянете на решении.
Исправление регистра (размера букв в тексте—прим. пер.)
В этом упражнении у нас есть названия городов в Великобритании, но написанных разным регистром. Мы хотим, чтобы вы изменили их так, чтобы они были в нижнем регистре, за исключением первой буквы. Хороший способ сделать это:
- Преобразуйте всю строку, содержащуюся в переменной input, в нижний регистр и сохраните её в новой переменной.
- Возьмите первую букву строки в этой новой переменной и сохраните её в другой переменной.
- Используя эту последнюю переменную в качестве подстроки, замените первую букву строчной строки первой буквой строчной строки, изменённой на верхний регистр. Сохраните результат этой процедуры замены в другой новой переменной.
- Измените значение переменной result на равную конечному результату (не input ).
Примечание: Подсказка — параметры строковых методов не обязательно должны быть строковыми литералами; они также могут быть переменными или даже переменными с вызываемым ими методом.
Создание новых строк из старых частей
В этом последнем упражнении массив содержит кучу строк, содержащих информацию о железнодорожных станциях на севере Англии. Строки представляют собой элементы данных, которые содержат трёхбуквенный код станции, за которым следуют некоторые машиночитаемые данные, за которыми следует точка с запятой, а затем название станции, пригодное для чтения человеком. Например:
Мы хотим извлечь код станции и имя и поместить их в строку со следующей структурой:
Мы бы рекомендовали реализовать это следующим образом:
- Извлеките трёхбуквенный код станции и сохраните его в новой переменной.
- Найдите номер символьного номера точки с запятой.
- Извлеките название для чтения человеком, используя номер индекса точки с запятой в качестве контрольной точки и сохраните его в новой переменной.
- Объедините две новые переменные и строковый литерал, чтобы сделать финальную строку.
- Измените значение переменной result равной конечной строке (не input ).
Заключение
Нельзя не согласиться с тем, что способность обрабатывать слова и предложения в программировании очень важна — особенно в JavaScript, поскольку веб-сайты — все связаны с людьми. Эта статья дала вам основы, которые вам нужно знать о манипуляции строками на данный момент. Это пойдёт вам на пользу, когда вы займётесь более сложными темами в будущем. Далее мы рассмотрим последний важный тип данных, на который нам нужно сосредоточиться в краткосрочной перспективе — массивы.
У меня есть одномерный массив строк в java, в котором я хочу изменить все строки на нижний регистр, чтобы впоследствии сравнить его с исходным массивом, чтобы я мог проверить программу, нет ли символов в верхнем регистре в моих строках / массиве.
Я пробовал использовать x.toLowercase, но это работает только с отдельными строками. Есть ли способ преобразовать всю строку в нижний регистр?
С уважением, бренд
Вы должны перебрать все строки в массиве и преобразовать каждую строку в нижний регистр. Я думаю, что для этого нет отдельного метода.
может помочь вам
Если вам нужен короткий пример, вы можете сделать следующее
Всего две строчки
@ dku.rajkumar: да, теперь это возможно, но Rdhao хочет сравнить версию в верхнем регистре с исходной, поэтому простая замена нецелесообразна.
В Java нет простого способа вызвать метод для каждого элемента коллекции; вам нужно будет вручную создать новый массив правильного размера, пройтись по элементам в исходном массиве и последовательно добавить их аналог в нижнем регистре в новый массив.
Однако, учитывая то, что вы конкретно пытаетесь сделать, вам не нужно сравнивать сразу весь массив, чтобы сделать это, и нести расходы на копирование всего. Вы можете просто перебирать массив - если вы найдете элемент, который не равен его строчной версии, вы можете вернуться false . Если вы дойдете до конца массива, не найдя ни одного такого элемента, вы можете вернуться true .
Я хочу изменить строку так, чтобы все символы верхнего регистра стали строчными, а все символы нижнего регистра стали прописными. Цифровые символы просто игнорируются.
Поэтому "AbCdE123" становится "aBcDe123"
Я предполагаю, что должен быть способ перебрать строку и перевернуть каждый символ или, возможно, какое-то регулярное выражение, которое могло бы это сделать.
Я не верю, что для этого есть что-то встроенное (это относительно необычно). Это должно сработать:
Обратите внимание, что при этом не происходит изменений, зависящих от локали, как в String.toUpperCase / String.toLowerCase. Он также не обрабатывает символы, отличные от BMP.
Apache Commons StringUtils имеет метод swapCase.
Думаю, должен быть способ перебирать строку и переворачивать каждый символ
Основываясь на подходе Фараза, я думаю, что преобразование символов может быть таким простым, как:
Java 8 и выше:
Важно отметить код, который переворачивает регистр букв:
Я думаю, что самое простое решение для понимания было бы примерно таким:
Я думаю, вам будет проще это прочитать, и в StringBuilder в любом случае есть метод append (char) + Character.toUpperCase и toLowerCase - это просто статические методы. Мне просто было плохо, что в единственный пример StringBuilder была включена арифметика индекса ascii.
Для тех, кто не любит троичные выражения, вот эквивалент:
ИЗМЕНИТЬ Java 8+ (код сборщика StringBuilder взят из ответа @Arun)
Мы также можем использовать объект StringBuilder, поскольку он имеет методы замены символов. Однако для хранения объекта StringBuilder может потребоваться дополнительное пространство. Таким образом, это поможет, если пространство не имеет значения, и решение будет простым для понимания.
Строковый верхний регистр Java, метод верхнего регистра строки Java, пример верхнего регистра символов java, как преобразовать строку в верхний регистр в java, преобразование строки java в верхний регистр с использованием языка.
Преобразование строки Java в верхний регистр может быть выполнено с помощью метода toUpperCase () .
Строка Java в верхнем регистре
- Java String toUpperCase() метод имеет два варианта – toUpperCase() и toUpperCase(языковой стандарт) .
- Преобразование символов в верхний регистр выполняется с использованием правил языка по умолчанию. Вызов функции toUpperCase() аналогичен вызову функции toUpperCase(Locale.getDefault()) .
- Метод Java String в верхнем регистре зависит от локали, поэтому используйте его осторожно со строками, которые предназначены для использования независимо от локали. Например, идентификаторы языков программирования, HTML-теги, ключи протоколов и т.д. В противном случае вы можете получить нежелательные результаты.
- Чтобы получить правильные результаты в верхнем регистре для строк, не учитывающих языковой стандарт, используйте метод в верхнем регистре(Locale.ROOT) .
- Строка toUpperCase() возвращает новую строку, поэтому вам придется назначить ее другой строке. Исходная строка остается неизменной, потому что Строка неизменна .
- Если locale передается как null в регистр(Locale locale) метод, то он вызовет Исключение NullPointerException .
Пример преобразования строки Java в верхний регистр
Давайте рассмотрим простой пример преобразования строки в верхний регистр и ее печати.
Мы также можем использовать класс сканера для получения пользовательского ввода, а затем преобразовать его в верхний регистр и распечатать.
Вот полный пример программы для преобразования строки java в верхний регистр и ее печати.
Читайте также: