Существует два способа представления текста в MATLAB ®. Начиная с R2016b, вы можете хранить текст в строковых массивах. А в любой версии MATLAB можно хранить текст в символьных массивах. Типичным применением для символьных массивов является хранение фрагментов текста в виде векторов символов. MATLAB отображает строки с двойными кавычками и векторами символов с одинарными кавычками.
Вы можете хранить любые 1-by- n
последовательность символов в виде строки, использование string
тип данных. Начиная с R2017a, заключайте текст в двойные кавычки, чтобы создать строку.
str = "Hello, world"
str = "Hello, world"
Хотя текст "Hello, world"
длина 12 символов, str
сам по себе является строкой 1 на 1 или строковым скаляром. Можно использовать строковый скаляр, чтобы задать имя файла, метку графика или любой другой фрагмент текстовой информации.
Чтобы найти количество символов в строке, используйте strlength
функция.
n = strlength(str)
n = 12
Если текст включает двойные кавычки, используйте две двойные кавычки в определении.
str = "They said, ""Welcome!"" and waved."
str = "They said, "Welcome!" and waved."
Чтобы добавить текст в конец строки, используйте оператор plus, +
. Если переменную можно преобразовать в строку, то plus
преобразует его и добавляет.
fahrenheit = 71; celsius = (fahrenheit-32)/1.8; tempText = "temperature is " + celsius + "C"
tempText = "temperature is 21.6667C"
Начиная с R2019a, вы также можете конкатенировать текст, используя append
функция.
tempText2 = append("Today's ",tempText)
tempText2 = "Today's temperature is 21.6667C"
The string
функция может преобразовывать различные типы входов, таких как число, datetime, длительность и категориальные значения. Для примера преобразуйте выход pi
в строку.
ps = string(pi)
ps = "3.1416"
Вы можете хранить несколько фрагментов текста в строковых массивах. Каждый элемент массива может содержать строку, имеющую разное количество символов, без заполнения.
str = ["Mercury","Gemini","Apollo";... "Skylab","Skylab B","ISS"]
str = 2x3 string
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
str
представляет собой строковые массивы 2 на 3. Вы можете найти длины строк с strlength
функция.
N = strlength(str)
N = 2×3
7 6 6
6 8 3
Как и R2018b, массивы строк поддерживаются во всех продуктах MATLAB и MathWorks ®. Функции, которые принимают символьные массивы (и массивы ячеек векторов символов) в качестве входов, также принимают строковые массивы.
Хранение 1-байт- n
последовательность символов как вектор символов, использование char
тип данных, заключайте его в одинарные кавычки.
chr = 'Hello, world'
chr = 'Hello, world'
Текстовое 'Hello, world'
длина 12 символов и chr
сохраняет его как вектор 1 на 12 символов.
whos chr
Name Size Bytes Class Attributes chr 1x12 24 char
Если текст включает одинарные кавычки, используйте две одинарные кавычки в определении.
chr = 'They said, ''Welcome!'' and waved.'
chr = 'They said, 'Welcome!' and waved.'
Векторы символов имеют два основных использования:
Чтобы задать отдельные фрагменты текста, такие как имена файлов и метки графика.
Представление данных, закодированных с использованием символов. В таких случаях может понадобиться быстрый доступ к отдельным символам.
Для примера можно хранить последовательность ДНК как вектор символов.
seq = 'GCTAGAATCC';
Вы можете получить доступ к отдельным символам или подмножествам символов путем индексации, так же как вы бы индексировали в числовой массив.
seq(4:6)
ans = 'AGA'
Конкатенируйте вектор символов с квадратными скобками, так же как вы конкатенируете другие типы массивов.
seq2 = [seq 'ATTAGAAACC']
seq2 = 'GCTAGAATCCATTAGAAACC'
Начиная с R2019a, вы также можете конкатенировать текст, используя append
. The append
Функция рекомендуется, потому что она обрабатывает строковые массивы, векторы символов и массивы ячеек векторов символов последовательно.
seq2 = append(seq,'ATTAGAAACC')
seq2 = 'GCTAGAATCCATTAGAAACC'
Функции MATLAB, которые принимают строковые массивы как входы, также принимают векторы символов и массивы ячеек символьных векторов.
append
| cellstr
| char
| horzcat
| plus
| string
| strlength