Строковые массивы могут содержать и пустые строки и отсутствующие значения. Пустые строки содержат нулевые символы и отображение как двойные кавычки ни с чем между ними (""
). Можно определить, является ли строка пустой строкой с помощью оператора ==
. Пустая строка является подстрокой любой строки. Поэтому функционирует, такие как contains
, всегда находят пустую строку в других строках. Строковые массивы также могут содержать отсутствующие значения. Отсутствующие значения в строковых массивах отображаются как <missing>
. Чтобы найти отсутствующие значения в массиве строк, используйте функцию ismissing
вместо оператора ==
.
Можно протестировать массив строк на пустые строки с помощью оператора ==
.
Начиная в R2017a, можно создать пустую строку с помощью двойных кавычек ни с чем между ними (""
). Обратите внимание на то, что размер str
1 на 1, не 0 на 0. Однако str
содержит нулевые символы.
str = ""
str = ""
Создайте пустой символьный вектор с помощью одинарных кавычек. Обратите внимание на то, что размер chr
0 на 0. Символьный массив chr
на самом деле является пустым массивом, и не только массивом с нулевыми символами.
chr = ''
chr = 0x0 empty char array
Создайте массив пустых строк с помощью функции strings
. Каждый элемент массива является строкой без символов.
str2 = strings(1,3)
str2 = 1x3 string array
"" "" ""
Протестируйте, если str
является пустой строкой путем сравнения его с пустой строкой.
if (str == "") disp 'str has zero characters' end
str has zero characters
Не используйте функцию isempty
, чтобы протестировать на пустые строки. Строка с нулевыми символами все еще имеет размер 1 на 1. Однако можно протестировать, если массив строк имеет по крайней мере одну размерность с размером нуля с помощью функции isempty
.
Создайте массив пустой строки с помощью функции strings
. Чтобы быть пустым массивом, по крайней мере одна размерность должна иметь размер нуля.
str = strings(0,3)
str = 0x3 empty string array
Протестируйте str
с помощью функции isempty
.
isempty(str)
ans = logical
1
Протестируйте массив строк на пустые строки. Оператор ==
возвращает логический массив, который одного размера как массив строк.
str = ["Mercury","","Apollo"]
str = 1x3 string array
"Mercury" "" "Apollo"
str == ''
ans = 1x3 logical array
0 1 0
Строки всегда содержат пустую строку как подстроку. На самом деле пустая строка всегда и в запуске и в конце каждой строки. Кроме того, пустая строка всегда находится между любыми двумя последовательными символами в строке.
Создайте строку. Затем протестируйте, если это содержит пустую строку.
str = "Hello, world"; TF = contains(str,"")
TF = logical
1
Протестируйте, если str
запускается с пустой строки.
TF = startsWith(str,"")
TF = logical
1
Считайте количество символов в str
. Затем считайте количество пустых строк в str
. Функция count
считает пустые строки вначале и конец str
, и между каждой парой символов. Поэтому, если str
имеет символы N
, он также имеет пустые строки N+1
.
str
str = "Hello, world"
strlength(str)
ans = 12
count(str,"")
ans = 13
Замените подстроку на пустую строку. Когда вы вызываете replace
с пустой строкой, он удаляет подстроку и заменяет его на строку, которая имеет нулевые символы.
replace(str,"world","")
ans = "Hello, "
Вставьте подстроку после пустых строк с помощью функции insertAfter
. Поскольку существуют пустые строки между каждой парой символов, insertAfter
вставляет подстроки между каждой парой.
insertAfter(str,"","-")
ans = "-H-e-l-l-o-,- -w-o-r-l-d-"
В целом строковые функции, которые заменяют, стирают, извлекают или вставляют подстроки, позволяют вам задавать пустые строки как запуски и концы подстрок, чтобы изменить. Когда вы делаете так, эти функции работают с запуском и концом строки, и между каждой парой символов.
Можно протестировать массив строк на отсутствующие значения с помощью функции ismissing
. Отсутствующая строка является строкой, эквивалентной NaN
для числовых массивов. Это указывает, где массив строк имеет отсутствующие значения. Отсутствующая строка отображается как <missing>
.
Чтобы создать отсутствующую строку, преобразуйте отсутствующее значение с помощью функции string
.
str = string(missing)
str = <missing>
Можно создать массив строк и с пустыми и с отсутствующими строками. Используйте функцию ismissing
, чтобы определить, какие элементы являются строками с отсутствующими значениями. Обратите внимание на то, что пустая строка не является отсутствующей строкой.
str(1) = ""; str(2) = "Gemini"; str(3) = string(missing)
str = 1x3 string array
"" "Gemini" <missing>
ismissing(str)
ans = 1x3 logical array
0 0 1
Сравните str
с отсутствующей строкой. Сравнением всегда является 0
(false
), даже когда вы сравниваете отсутствующую строку с другой отсутствующей строкой.
str == string(missing)
ans = 1x3 logical array
0 0 0
Чтобы найти отсутствующие строки, используйте функцию ismissing
. Не используйте оператор ==
.
contains
| endsWith
| eq
| erase
| eraseBetween
| extractAfter
| extractBefore
| extractBetween
| insertAfter
| insertBefore
| ismissing
| replace
| replaceBetween
| startsWith
| string
| strings
| strlength