Тест на пустые строки и отсутствующие значения

Строковые массивы могут содержать как пустые строки, так и отсутствующие значения. Пустые строки содержат ноль символов и отображаются как двойные кавычки ни с чем между ними (""). Можно определить, является ли строка пустой строкой, используя == оператор. Пустая строка является подстрокой каждой другой строки. Поэтому такие функции, как 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
    ""    ""    ""

Проверяйте, если 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

Проверьте строковые массивы на наличие пустых строк. The == оператор возвращает логический массив того же размера, что и строковые массивы.

str = ["Mercury","","Apollo"]
str = 1x3 string
    "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. The 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
    ""    "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 функция. Не используйте == оператор.

См. также

| | | | | | | | | | | | | | | | | |

Похожие темы

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