exponenta event banner

Проверка пустых строк и отсутствующих значений

Массивы строк могут содержать как пустые строки, так и отсутствующие значения. Пустые строки содержат ноль символов и отображаются как двойные кавычки, между которыми ничего нет (""). Можно определить, является ли строка пустой строкой, используя == оператор. Пустая строка является подстрокой каждой другой строки. Следовательно, такие функции, как contains всегда находить пустую строку в других строках. В строковых массивах также могут содержаться отсутствующие значения. Отсутствующие значения в строковых массивах отображаются как <missing>. Чтобы найти отсутствующие значения в строковом массиве, используйте ismissing вместо функции == оператор.

Проверка пустых строк

Можно проверить массив строк для пустых строк с помощью == оператор.

Начиная с R2017a, можно создать пустую строку, используя двойные кавычки, между которыми ничего нет (""). Обратите внимание, что размер str равно 1 на 1, а не 0 на 0. Однако str содержит нулевые символы.

str = ""
str = 
""

Создайте пустой вектор символов, используя одинарные кавычки. Обратите внимание, что размер chr является 0-by-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

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

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. 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 функция. Не используйте == оператор.

См. также

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

Связанные темы