5 способов манипулировать строками в Java

Оглавление:

5 способов манипулировать строками в Java
5 способов манипулировать строками в Java

Видео: 5 способов манипулировать строками в Java

Видео: 5 способов манипулировать строками в Java
Видео: Как и где скачать Microsoft Access БЕСПЛАТНО 2024, Апрель
Anonim

Строки - это последовательности символов. Например, «Привет!» является строкой, поскольку состоит из символов «H», «e», «l», «l», «o» и «!». В Java строки являются объектами, а это означает, что существует класс String с полями и методами. Мы можем использовать методы класса String для управления строками.

Шаги

Метод 1 из 5: создание строки

3016567 1 1
3016567 1 1

Шаг 1. Создайте строку с помощью конструктора класса String

    String str = new String («Привет!»);

3016567 2 1
3016567 2 1

Шаг 2. Создайте строку, напрямую назначив строку

3016567 3 1
3016567 3 1

Шаг 3. Попробуйте пример

Вот пример программы, которая создает строку двумя разными способами.

    открытый класс StringManipulation {public static void main (String args) {String str1 = new String ("Строка, созданная с помощью конструктора!"); String str2 = "Строка создана без конструктора!"; System.out.println (str1); System.out.println (str2); }}

Метод 2 из 5: Найдите длину строки

Шаг 1. Разберитесь, что значит найти длину строки

Длина строки - это количество символов, содержащихся в строке. Например, длина строки «Hello!» равно 6, потому что в нем 6 символов.

3016567 5 1
3016567 5 1

Шаг 2. Вызов

длина()

для объекта String и сохраните результат в целочисленной переменной.

    int strLength = длина строки ();

3016567 6 1
3016567 6 1

Шаг 3. Попробуйте

Вот пример программы, которая определяет длину строки.

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; int strLength = длина строки (); System.out.println ("Длина \" "+ str +" / "равна" + strLength + "."); }}

Метод 3 из 5: перевернуть строку

3016567 7
3016567 7

Шаг 1. Понять, что значит перевернуть строку

Обращение строки означает изменение порядка символов в строке. Например, обратная сторона строки «Hello!» это "! olleH". В Java есть много способов перевернуть строку.

3016567 8 1
3016567 8 1

Шаг 2. Воспользуйтесь обратным методом класса StringBuffer

Создайте объект StringBuffer, который принимает строку, которую вы хотите изменить, в качестве параметра. Используйте метод reverse () StringBuffer, а затем извлеките новую перевернутую строку с помощью метода toString ().

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; Буфер StringBuffer = новый StringBuffer (str); Строка reversedStr = buffer.reverse (). ToString (); System.out.println ("Обратной стороной строки \" "+ str +" / "является \" "+ reversedStr +" / "."); }}

3016567 9 1
3016567 9 1

Шаг 3. Перебирайте символы в строке в обратном порядке, добавляя эти символы в StringBuffer на каждой итерации

Создайте новый объект StringBuffer, инициализированный длиной строки, которую вы хотите изменить, в качестве параметра. Затем используйте цикл for для перебора строки, начиная с последнего символа в строке и заканчивая первым символом в строке. На каждой итерации добавляйте символ по этому индексу в StringBuffer. Получите новую перевернутую строку с помощью метода toString ().

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; Буфер StringBuffer = новый StringBuffer (str.length ()); для (int i = str.length () - 1; i> = 0; i--) {buffer.append (str.charAt (i)); } Строка reversedStr = buffer.toString (); System.out.println ("Обратной стороной строки \" "+ str +" / "является \" "+ reversedStr +" / "."); }}

3016567 10 1
3016567 10 1

Шаг 4. Напишите рекурсивную функцию для переворота строки

В рекурсивной функции базовый случай / условие - если строка равна нулю или если длина строки меньше или равна нулю. В противном случае метод reverse () вызывается снова со строкой за вычетом первого символа, а первый символ добавляется в конец. Итак, если мы передали строку «Hello!», Первый вызов функции reverse () после этого будет иметь параметр «ello!».

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; Строка reversedStr = reverse (str); System.out.println ("Обратной стороной строки \" "+ str +" / "является \" "+ reversedStr +" / "."); } частный статический String reverse (String str) {if (str == null || str.length () <= 1) return str; вернуть обратный (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Шаг 5. Преобразуйте строку в массив символов, а затем поменяйте местами первое и последнее, второе и второе на последнее и т. Д

символы. Сначала преобразуйте строку в массив символов с помощью метода toCharArray () для строки. Получить индекс последнего символа в массиве, который равен длине массива минус один. Затем выполните итерацию по массиву, меняя местами ith символ и indexOfLastChar - ith символ на каждой итерации. Наконец, преобразуйте массив символов обратно в строку.

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; для (int я = 0; я <charArray.length / 2; я ++) {char temp = charArray [я]; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - я] = временная; } Строка reversedStr = новая строка (charArray); System.out.println ("Обратной стороной строки \" "+ str +" / "является \" "+ reversedStr +" / "."); }}

3016567 12 1
3016567 12 1

Шаг 6. Просмотрите свой результат

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

Метод 4 из 5: обрезать пустое пространство в строке

3016567 13
3016567 13

Шаг 1. Разберитесь, что значит обрезать пробелы в строке

Обрезка строки в Java означает удаление начального и конечного пробелов в строке. Например, если у вас есть строка"

Привет, мир!

"и вы хотите, чтобы он говорил" Hello, world! "без пробелов в начале и в конце, вы можете обрезать строку. Класс String предоставляет метод trim (), который возвращает копию строки с удаляются начальные и конечные пробелы или исходная строка, если в ней нет начальных или конечных пробелов.

3016567 14 1
3016567 14 1

Шаг 2. Используйте метод trim () класса String для объекта String, чтобы обрезать пустое пространство

Обратите внимание, что метод trim () вызовет исключение, если строка имеет значение NULL. Метод trim () не изменяет содержимое исходной строки, потому что строки в Java неизменяемы, а это означает, что состояние строки не может быть изменено после ее создания. Скорее, метод trim () вернет новую строку с обрезанными пробелами.

    Строка trimmedStr = str.trim ();

Шаг 3. Попробуйте пример

Вот пример программы, которая обрезает пробелы в строке:

    открытый класс StringManipulation {public static void main (String args) {String str = "Hello!"; Строка trimmedStr = str.trim (); System.out.println ("Исходная строка: \" "+ str +" / "."); System.out.println ("Обрезанная строка \" "+ trimmedStr +" / "."); }}

Метод 5 из 5: разделение строки

3016567 16
3016567 16

Шаг 1. Разберитесь, что значит разбить строку

Разделение строки в Java означает разделение строки по определенному разделителю на массив подстрок. Например, если я разделю строку «красный, синий, зеленый, желтый, розовый» с запятой в качестве разделителя, я получу массив {«красный», «синий», «зеленый», «желтый», «розовый» }. Вот три разных способа разделить строку.

3016567 17 1
3016567 17 1

Шаг 2. Используйте

StringTokenizer

для токенизации строки.

Импортировать

java.util. StringTokenizer

. Затем создайте новый экземпляр

StringTokenizer

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

StringTokenizer

вы можете использовать

nextToken ()

метод получения каждого токена.

    import java.util. Arrays; import java.util. StringTokenizer; открытый класс StringManipulation {public static void main (String args) {String str = "красный, зеленый, синий, желтый, розовый"; Токенизатор StringTokenizer = новый StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); Строка splitArr = новая Строка [numberOfTokens]; для (int я = 0; я <numberOfTokens; я ++) {splitArr [я] = tokenizer.nextToken (); } System.out.println ("\ nОригинальная строка:" + str); System.out.println ("Разделить массив:" + Arrays.toString (splitArr) + "\ n"); }}

  • До версии Java 1.4

    StringTokenizer

    class использовался для разделения строк в Java. Но теперь использование

    StringTokenizer

    не приветствуется, и использование

    расколоть()

    метод в

    Нить

    класс или использование

    java.util.regex

  • пакет приветствуется.
3016567 18 1
3016567 18 1

Шаг 3. Используйте

Нить

класса

расколоть()

метод.

В

расколоть()

метод примет разделитель как параметр и вернет массив подстрок, которые совпадают с токенами из

StringTokenizer

    import java.util. Arrays; открытый класс StringManipulation {public static void main (String args) {String str = "красный, зеленый, синий, желтый, розовый"; Строка splitArr = str.split (","); System.out.println ("\ nОригинальная строка:" + str); System.out.println ("Разделить массив:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Шаг 4. Используйте регулярные выражения для разделения строки

Импортировать

java.util.regex. Pattern

. Использовать

compile ()

метод

Шаблон

класс, чтобы установить разделитель, а затем дать

расколоть()

метод строки, которую вы хотите разделить. В

Шаблон

вернет массив подстрок.

    import java.util. Arrays; import java.util.regex. Pattern; открытый класс StringManipulation {public static void main (String args) {String str = "красный, зеленый, синий, желтый, розовый"; Строка splitArr = Pattern.compile (",").split (str); System.out.println ("\ nОригинальная строка:" + str); System.out.println ("Разделить массив:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Шаг 5. Просмотрите свой результат

Вот результат любого из этих методов разделения строк.

Рекомендуемые: