Как сделать нижний регистр java

Обновлено: 01.07.2024

Я попытался найти руководство по этому вопросу, но я продолжаю получать решения по всей строке или одному символу. Я нахожусь на своей 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');

Активные примеры обучения

В этом разделе мы дадим вам попробовать набить руку и вместе напишем код строковой манипуляции. В каждом упражнении ниже у нас есть массив строк и цикл, который обрабатывает каждое значение в массиве и отображает его в маркированном списке. Вам не нужно понимать массивы или циклы прямо сейчас — это будет объяснено в будущих статьях. Все, что вам нужно сделать в каждом случае, — написать код, который выводит строки в том формате, в котором мы предлагаем.

В каждом примере есть кнопка Сбросить, которую вы можете использовать для сброса кода, если вы допустили ошибку и не можете заставить его работать снова, а кнопку Показать решение вы можете нажать, чтобы увидеть потенциальный ответ, если вы действительно застрянете на решении.

Исправление регистра (размера букв в тексте—прим. пер.)

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

  1. Преобразуйте всю строку, содержащуюся в переменной input, в нижний регистр и сохраните её в новой переменной.
  2. Возьмите первую букву строки в этой новой переменной и сохраните её в другой переменной.
  3. Используя эту последнюю переменную в качестве подстроки, замените первую букву строчной строки первой буквой строчной строки, изменённой на верхний регистр. Сохраните результат этой процедуры замены в другой новой переменной.
  4. Измените значение переменной result на равную конечному результату (не input ).

Примечание: Подсказка — параметры строковых методов не обязательно должны быть строковыми литералами; они также могут быть переменными или даже переменными с вызываемым ими методом.

Создание новых строк из старых частей

В этом последнем упражнении массив содержит кучу строк, содержащих информацию о железнодорожных станциях на севере Англии. Строки представляют собой элементы данных, которые содержат трёхбуквенный код станции, за которым следуют некоторые машиночитаемые данные, за которыми следует точка с запятой, а затем название станции, пригодное для чтения человеком. Например:

Мы хотим извлечь код станции и имя и поместить их в строку со следующей структурой:

Мы бы рекомендовали реализовать это следующим образом:

  1. Извлеките трёхбуквенный код станции и сохраните его в новой переменной.
  2. Найдите номер символьного номера точки с запятой.
  3. Извлеките название для чтения человеком, используя номер индекса точки с запятой в качестве контрольной точки и сохраните его в новой переменной.
  4. Объедините две новые переменные и строковый литерал, чтобы сделать финальную строку.
  5. Измените значение переменной 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 в верхний регистр и ее печати.

Читайте также: