Как разделить массив на символы
Перейти к содержимому

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

  • автор:

Как разделить строку на символы java

Чтобы разбить строку на символы в Java , вы можете использовать метод toCharArray() класса String . Этот метод возвращает массив символов, которые составляют данную строку.

String str = "Hello, world!"; char[] chars = str.toCharArray(); for (char c : chars)  System.out.println(c); > 

Этот код разобьет строку «Hello, world!» на массив символов и напечатает каждый символ в консоли:

Метод split

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

Синтаксис

строка.split([разделитель], [максимальное количество элементов]);

Пример

Пусть дана некоторая строка с дефисами. Давайте разобьем эту строку в массив по разделителю ‘-‘ :

let str = ‘ab-cd-ef’; let arr = str.split(‘-‘); console.log(arr);

Результат выполнения кода:

Пример

Давайте опять разобьем строку по разделителю ‘-‘ , однако вторым параметром укажем максимальное количество элементов в получившемся массиве, например, 2 . В этом случае в массив запишется только 2 элемента:

let str = ‘ab-cd-ef’; let arr = str.split(‘-‘, 2); console.log(arr);

Результат выполнения кода:

Пример

Давайте каждый символ строки запишем в отдельный элемент массива:

let str = ‘abcde’; let arr = str.split(»); console.log(arr);

Результат выполнения кода:

Пример

Давайте первые 3 символа строки запишем в отдельные элементы массива:

let str = ‘abcde’; let arr = str.split(», 3); console.log(arr);

Результат выполнения кода:

Пример

Давайте с помощью split разобьем строку с числами. Обратите внимание на то, что в результате получится массив строк, а не массив чисел:

let str = ‘12345’; let arr = str.split(»); console.log(arr);

Результат выполнения кода:

Пример . Применение

Давайте перевернем символы строки в обратном порядке. Для этого разобьем строку в массив с помощью split по разделителю » (это разместит каждый символ строки в отдельный элемент массива), перевернем этот массив с помощью reverse и затем сольем перевернутый массив обратно с помощью join :

let str = ‘123456789’; let arr1 = str.split(»); let arr2 = arr1.reverse(); let res = arr2.join(»); console.log(res);

Результат выполнения кода:

Пример . Применение

Упростим решение предыдущей задачи — сольем все команды в цепочку:

let str = ‘123456789’; let res = str.split(»).reverse().join(»); console.log(res);

Результат выполнения кода:

Пример . Применение

Дана строка с цифрами. Найдем сумму цифр из этой строки. Для этого разобьем строку в массив, а затем переберем этот массив и найдем его сумму. Нас ждет подвох: split возвращает строки, поэтому при суммировании преобразуем эти цифры-строки в настоящие числа с помощью Number :

let str = ‘12345’; let arr = str.split(»); let sum = 0; for (let i = 0; i < arr.length; i++) < sum += Number(arr[i]); >console.log(sum);

Результат выполнения кода:

Пример . Применение

Дано число. Давайте запишем каждую цифру этого числа в отдельный элемент массива. Тут есть подвох — split применяется только к строкам, а у нас число. Преобразуем вначале число к строке с помощью String , а затем применим split :

let num = 12345; let str = String(num); let arr = str.split(»); console.log(arr);

Результат выполнения кода:

Смотрите также

  • метод join ,
    который сливает элементы массива в строку
  • метод split ,
    который разбивает строку по регулярке
  • метод reverse ,
    который изменяет порядок элементов в массиве на обратный
  • свойство length ,
    которое позволяет узнать длину строки

String.prototype.split()

Метод split() разбивает объект String на массив строк путём разделения строки указанной подстрокой.

Синтаксис

str.split([separator[, limit]])

Параметры

Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр separator может быть как строкой, так и регулярным выражением. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка str будет преобразована в массив символов.

Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод split() всё равно разделяет строку на каждом сопоставлении с разделителем separator , но обрезает возвращаемый массив так, чтобы он содержал не более limit элементов.

Описание

Метод split() возвращает новый массив.

Если разделитель separator найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка str будет преобразована в массив символов.

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

Примечание: Если строка является пустой строкой, метод split() вернёт массив, состоящий из одной пустой строки, а не пустой массив.

Примеры

Пример: использование метода split()

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

function splitString(stringToSplit, separator)  var arrayOfStrings = stringToSplit.split(separator); console.log('Оригинальная строка: "' + stringToSplit + '"'); console.log('Разделитель: "' + separator + '"'); console.log( "Массив содержит " + arrayOfStrings.length + " элементов: " + arrayOfStrings.join(" / "), ); > // Строчка из «Бури» Шекспира. Перевод Михаила Донского. var tempestString = "И как хорош тот новый мир, где есть такие люди!"; var monthString = "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек"; var space = " "; var comma = ","; splitString(tempestString, space); splitString(tempestString); splitString(monthString, comma); 

Пример сгенерирует следующий вывод:

Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!" Разделитель: " " Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди! Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!" Разделитель: "undefined" Массив содержит 1 элементов: И как хорош тот новый мир, где есть такие люди! Оригинальная строка: "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек" Разделитель: "," Массив содержит 12 элементов: Янв / Фев / Мар / Апр / Май / Июн / Июл / Авг / Сен / Окт / Ноя / Дек

Пример: удаление пробелов из строки

В следующем примере метод split() ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная nameList является массивом, возвращённым в результате работы метода split() .

var names = "Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд "; console.log(names); var re = /\s*;\s*/; var nameList = names.split(re); console.log(nameList); 

Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.

Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд

Пример: возврат ограниченного числа подстрок

В следующем примере метод split() ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.

var myString = "Привет, мир. Как дела?"; var splits = myString.split(" ", 3); console.log(splits); 

Вывод скрипта будет следующим:

,,мир.,Как 

Пример: захват подгрупп

Если параметр separator содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.

var myString = "Привет 1 мир. Предложение номер 2."; var splits = myString.split(/(\d)/); console.log(splits); 

Вывод скрипта будет следующим:

,1, мир. Предложение номер ,2,. 

Пример: обращение строки при помощи метода split()

var str = "фывапролд"; var strReverse = str.split("").reverse().join(""); // 'длорпавыф' // split() возвращает массив, к которому применяются методы reverse() и join() 

Бонус: используя оператор === (en-US), можно проверить, являлась ли строка палиндромом.

Спецификации

Specification
ECMAScript Language Specification
# sec-string.prototype.split

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • String.prototype.charAt()
  • String.prototype.indexOf()
  • String.prototype.lastIndexOf()
  • Array.prototype.join()

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 20 янв. 2024 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Как разбить строку на символы в Python

Сейчас мы разберем, как в Python можно разбить строку на символы. В общем, все что нам нужно, это создать такую функцию (назовем ее, например, split() ), которая будет решать эту задачу. Если вы новичок в функциях, то можете ознакомиться с базовыми принципами их создания на нашем сайте.

Чтобы понять, о чем речь, возьмем конкретный пример. Допустим, у нас есть следующая строка: «Hdfs Tutorial». И мы хотим разбить ее на отдельные символы, используя язык Python. Давайте поищем способы, как лучше это сделать.

Вход: “Hdfs Tutorial” Результат: [‘H’, ‘d’, ‘f’, ‘s’, ‘ ‘, ‘T’, ‘u’, ‘t’, ‘o’, ‘r’, ‘i’, ‘a’, ‘l’]

1. Определяемая пользователем функция

Здесь я создам функцию под названием split() , которая принимает на вход один аргумент, например, нашу строку, и возвращает список всех символов, имеющихся в этой строке.

def split(s): return [char for char in s]

Сейчас мы создали собственную функцию под названием split() , принимающую один аргумент — строку, которую мы хотим разбить на символы.

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

s = 'Hdfs Tutorial' print(s)
Результат
Hdfs Tutorial

Теперь просто вызовем нашу функцию, передав в нее только что определенную нами строку.

split(s)
Результат
[‘H’, ‘d’, ‘f’, ‘s’, ‘ ‘, ‘T’, ‘u’, ‘t’, ‘o’, ‘r’, ‘i’, ‘a’, ‘l’]

Вот и все! Это простейший способ разбить строку на символы в языке Python. Однако, как это обычно бывает в Python, есть еще несколько способов сделать то же самое. И сейчас мы по-быстрому разберем пару таких примеров.

2. Функция list()

Мы можем использовать встроенную функцию list() , которая сделает ровно то же самое.

s = 'Hdfs Tutorial' list(s)
Резльтат
[‘H’, ‘d’, ‘f’, ‘s’, ‘ ‘, ‘T’, ‘u’, ‘t’, ‘o’, ‘r’, ‘i’, ‘a’, ‘l’]

3. Разбиение строки на символы с использованием цикла for

Также можно разбить строку на символы при помощи цикла for , который мы использовали в теле функции split() , не определяя самой функции. Этот способ рекомендован лишь для специального использования и, как правило, не подходит для промышленного применения.

s = 'Hdfs Tutorial' [c for c in s]
Результат
[‘H’, ‘d’, ‘f’, ‘s’, ‘ ‘, ‘T’, ‘u’, ‘t’, ‘o’, ‘r’, ‘i’, ‘a’, ‘l’]

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *