Создание массивов строк¶
Массивы строк хранят фрагменты текста и предоставляют набор функций для работы с ними. Можно индексировать, менять форму и объединять массивы строк точно так же, как массивы любого другого типа. В этом материале рассмотрим некоторые функции для работы со строковыми массивами.
Каждый элемент массива строк содержит последовательность символов 1 на n.
str = "Hello, world"
Создадим матрицу строк, используя оператор [].
satellites = ["Ganymede" "Europa" "Callisto";"Amalthea" "Rings of Jupiter" "Leda"]
Массивы строк поддерживают индексирование. Используем индексацию для доступа к первой строке матрицы str.
satellites[1,:]
Обратимся ко второму элементу во второй строке str.
satellites[2,2]
Определить размер заданной матрицы можно с помощью функции size()
.
size(satellites)
Количество элементов массива с помощью функции length()
.
length(satellites)
Также можно определить, какое количество символов в каждом элементе массива строк. Если поставить точку перед круглыми скобками. Это будет означать, что мы обращаемся к элементу массива и применяем к нему функцию length()
.
length.(satellites)
В строку можно преобразовать набор числовых значений с помощью функции string()
. Например, получим дату и время и преобразуем значение в строку.
using Dates
d = now()
string(d)
Создание пустых строк¶
Массивы строк могут содержать как пустые, так и отсутствующие значения. Пустая строка содержит ноль символов. При отображении пустой строки результатом является пара двойных кавычек, внутри которых ничего нет (""). Пропущенная строка эквивалентна строке NaN для числовых массивов. Она указывает, где в строковом массиве отсутствуют значения. При отображении пропущенной строки результатом будет missing.
Создать пустую строку можно с помощью функции String()
.
str = String("")
Создать матрицу пустых строк можно, например, используя функцию fill()
.
str = fill("",(2,3))
Чтобы создать пропущенную строку, нужно присвоить переменной ключевое слово missing.
str = missing
Вы можете создать массив строк как с пустыми, так и с пропущенными строками.
str = ["" "Ram" missing]
Используйте функцию ismissing()
, чтобы определить, какие элементы являются строками с пропущенными значениями. Обратите внимание, что пустая строка не является пропущенной строкой.
ismissing.(str)
Найдем символы пробела при помощи функции occursin()
в строке и заменим их на тире функцией replace()
.
TF = occursin.(" ", satellites)
satellites = replace.(satellites, " " => "-")
display(satellites)
Разделение, объединение и сортировка массива строк¶
Объединяйте строки в массив строк точно так же, как вы бы объединяли массивы любого другого типа.
str1 = ["a","b","c"];
str2 = ["d","e","f"];
str3 = ["g","h","i"];
str = [str1 str2 str3]
Функция permutedims()
позволяет транспонировать матрицы со строковыми элементами.
str = permutedims(str)
Чтобы добавить текст к строкам, используйте оператор оператор *. Оператор добавляет текст к строкам, но не изменяет размер массива строк.
Name = ["Mary", "John", "Elizabeth", "Paul", "Ann"]
Name = [name * " Smith" for name in Name]
Например, объединим массив имен и фамилий.
Name = ["Mary", "John", "Elizabeth", "Paul", "Ann"];
Lastname = ["Jones", "Adams", "Young", "Burns", "Spencer"];
full_names = Name .* " " .* Lastname
Но также существует функция разделения split()
. С ее помощью можно разделеть строковые элементы массива.
full_names = split.(full_names)
Сортирувку строковых элементов позволяет сделать функция sort()
.
sort(Name)
Помимо рассмотренных примеров работы со строковыми массивами, существует еще целый ряд функций. Подробнее ознакомиться с функционалом можно в разделе Массивы.